Excel VBA 與 c# 或是VB2010? - 工程師
By Genevieve
at 2012-12-08T21:30
at 2012-12-08T21:30
Table of Contents
※ 引述《njp2942u4 (小M)》之銘言:
: 不好意思 在其他板問了 但是都得不到解答
: 軟體:Excel VBA 與 c# 或是VB2010
: 版本:都是2010
: 想問一下
: 學VB 以及C#
: 但不知道,學了這兩樣東西
: 看到這兩樣東西可以編寫office 相關程式
: 那還有需要在學Excel VBA嗎?
: 用來處理一些重複性的東西
: 也就是說c# 或是 VB 可以取代Excel VBA嗎?
: 謝謝~
因為我有使用 VB6、VBA、C# 寫 Excel 的程式。VB.NET 和 C# 暫不論語法先當是相同的
所以我講我個人對用 C# 或 Excel VBA寫Office相關程式的優缺點。
只是個人的感想,歡迎大家提出不同看法。
首先說一下使用 VBA,
VBA 是 Visual Basic for Application 的簡寫,它以 Visual Basic 的語言為基礎
修改使它能用在其它支援程式中。
除了 MS Office 可以使用,還有 Autodesk 的 AutoCAD, Inventor,或是 Solidworks...
在 Office ,若不會寫程式碼,可以錄製下來再做修改。
可以獨立成巨集檔安裝或是寫在 Excel文件中。
因為歷史久遠,使用VB的開發人數多,所以提問題很容易找到人協助解決。
網路上的資料也很多。
寫在 Excel 中使用者不需懂如何安裝,寄檔案給使用者就知道開啟。
(怎麼使用你的程式當然要另外教...)
缺點是控制項就那幾個,當然也可以自己用 VB6 寫,至少比 VBA 的好多了
使用C#
我最偏好的好處是程式碼能做版本控管。
C# 和 VB6 的Addin 同樣功能比較的話,VB6 和 VBA 的開啟速度勝出。
(因為.net 程式庫載入時間較長)
執行效能則不一定,要看做什麼事。
C# 開發容易(很多程式庫功能可使用,控制項也很多,又比VBA漂亮),
語法比 VB 乾淨好看(個人喜好 XD)
程式碼寫過可以重用(當然是看功能如何做成類別或元件、控制項)
程式要給使用者需要協助做好安裝。(或是做好Installer)
最大的缺點就是第一次載入慢...
基於以上個人感想,如果使用者的電腦等級高,原本就有安裝 .net framework,
我通常都是寫 VSTO。
若是有使用者的不能安裝 .net framework,
或電腦接近心率不整,狀況不佳……才會選擇VBA
所以整合以上要不要學 vba 我個人認為是需要的!
但是什麼時候學呢.....
...
...
當你需要用的時候再學即可……因為上手很快的!
(以我自己原本只會 vba 寫改寫 VSTO 為例,
因為知道 Workbook, worksheet, range, cell...所以大概知道怎麼寫,很快就上手了。)
假設你已經會寫某一種程式語言了,懂迴圈、判斷式、變數...
那你去瞭解一個語言的語法真的不用很久,
瞭解一個語言的龐大程式庫怎麼使用會比較久
--
: 不好意思 在其他板問了 但是都得不到解答
: 軟體:Excel VBA 與 c# 或是VB2010
: 版本:都是2010
: 想問一下
: 學VB 以及C#
: 但不知道,學了這兩樣東西
: 看到這兩樣東西可以編寫office 相關程式
: 那還有需要在學Excel VBA嗎?
: 用來處理一些重複性的東西
: 也就是說c# 或是 VB 可以取代Excel VBA嗎?
: 謝謝~
因為我有使用 VB6、VBA、C# 寫 Excel 的程式。VB.NET 和 C# 暫不論語法先當是相同的
所以我講我個人對用 C# 或 Excel VBA寫Office相關程式的優缺點。
只是個人的感想,歡迎大家提出不同看法。
首先說一下使用 VBA,
VBA 是 Visual Basic for Application 的簡寫,它以 Visual Basic 的語言為基礎
修改使它能用在其它支援程式中。
除了 MS Office 可以使用,還有 Autodesk 的 AutoCAD, Inventor,或是 Solidworks...
在 Office ,若不會寫程式碼,可以錄製下來再做修改。
可以獨立成巨集檔安裝或是寫在 Excel文件中。
因為歷史久遠,使用VB的開發人數多,所以提問題很容易找到人協助解決。
網路上的資料也很多。
寫在 Excel 中使用者不需懂如何安裝,寄檔案給使用者就知道開啟。
(怎麼使用你的程式當然要另外教...)
缺點是控制項就那幾個,當然也可以自己用 VB6 寫,至少比 VBA 的好多了
使用C#
我最偏好的好處是程式碼能做版本控管。
C# 和 VB6 的Addin 同樣功能比較的話,VB6 和 VBA 的開啟速度勝出。
(因為.net 程式庫載入時間較長)
執行效能則不一定,要看做什麼事。
C# 開發容易(很多程式庫功能可使用,控制項也很多,又比VBA漂亮),
語法比 VB 乾淨好看(個人喜好 XD)
程式碼寫過可以重用(當然是看功能如何做成類別或元件、控制項)
程式要給使用者需要協助做好安裝。(或是做好Installer)
最大的缺點就是第一次載入慢...
基於以上個人感想,如果使用者的電腦等級高,原本就有安裝 .net framework,
我通常都是寫 VSTO。
若是有使用者的不能安裝 .net framework,
或電腦接近心率不整,狀況不佳……才會選擇VBA
所以整合以上要不要學 vba 我個人認為是需要的!
但是什麼時候學呢.....
...
...
當你需要用的時候再學即可……因為上手很快的!
(以我自己原本只會 vba 寫改寫 VSTO 為例,
因為知道 Workbook, worksheet, range, cell...所以大概知道怎麼寫,很快就上手了。)
假設你已經會寫某一種程式語言了,懂迴圈、判斷式、變數...
那你去瞭解一個語言的語法真的不用很久,
瞭解一個語言的龐大程式庫怎麼使用會比較久
--
Tags:
工程師
All Comments
By George
at 2012-12-11T10:42
at 2012-12-11T10:42
By Hedda
at 2012-12-13T17:52
at 2012-12-13T17:52
By Brianna
at 2012-12-15T00:13
at 2012-12-15T00:13
Related Posts
蘋果回娘家 鴻海廣達設美國生產線
By Bethany
at 2012-12-08T21:17
at 2012-12-08T21:17
松下電腦一年四季都在徵作業員
By Kama
at 2012-12-08T19:26
at 2012-12-08T19:26
沒有永久的工作....
By Madame
at 2012-12-08T19:21
at 2012-12-08T19:21
Excel VBA 與 c# 或是VB2010?
By John
at 2012-12-08T18:50
at 2012-12-08T18:50
蘋果iTV供應鏈 明年新亮點
By Steve
at 2012-12-08T18:00
at 2012-12-08T18:00