用于Office的VBA或.NET?

Hos*_*nia 1 .net vba vsto ms-office

我想开发和自动化Office软件,如"Microsoft Excel 2007"和"Microsoft Word 2007".但我不知道如何使用VBA或使用C#/ .Net Framework这样做.

使用VBA与.Net框架有什么好处?

我应该关注哪一个学习?

Dir*_*mar 7

在Office自动化方面,VBA和.NET都有其优点和缺点.以下是我脑海中的一些观点.该列表不完整,我的个人意见,所以随意添加/删除点你喜欢.

.NET的优点是

  • 更丰富的语言和基类库(继承,面向对象)
  • 支持类库
  • 通常更好的工具支持,例如代码分析,测试等
  • 更容易与版本控制集成

.NET的缺点

  • 需要更多的学习
  • 更难部署

VBA的优点是

  • 相当苗条
  • 代码在Office中本地执行,不需要较慢的COM桥,因此通常更快
  • 宏录制可用于自动生成高质量的代码

VBA的缺点

  • 更多的是传统技术
  • 不支持现代和丰富的GUI
  • 有限的工具支持

两者都有共同之处

  • 可以使用Windows API
  • 可以使用COM

在学习和熟悉Office对象模型时,VBA肯定更容易学习,特别是因为它很容易记录宏,然后在VBA编辑器中简单地玩.

最重要的是,VBA可能最适合应该易于部署的小型项目,而使用.NET,您可以构建功能强大的附加组件,利用完整的.NET Framework并提供丰富的用户体验.

  • LOL在VBA宏录制器上生成"高质量代码".我们只是说'宏录制可以用来自动生成代码',好吗?;) (4认同)