楼主:
lenki (天气放晴吧…)
2012-12-08 21:30:26※ 引述《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...所以大概知道怎么写,很快就上手了。)
假设你已经会写某一种程式语言了,懂循环、判断式、变量...
那你去了解一个语言的语法真的不用很久,
了解一个语言的庞大程式库怎么使用会比较久