使用VBA和Visual Studio工具进行Office开发

VBA已到达尽头。尽管它配备在Office中并为高级用户广泛使用,但它的发展已停滞不前。有朝一日VSTA会取代VBA,然而,目前它仍未受到足够的重视。甚至在MSDN上的专题空间已经关闭,仅保留相应博文。

这使得VSTO远离了那些基于Office的产品上进行.NET开发的编程人员。除了可嵌入到文档中去,VSTO项目还可以独立于Office。这使得他们可以编译成标准的DLL,通过OneClick或者标准的MSI包进行部署,并可以在多个文件之间进行共享。

多数高级用户并不想学习复杂的VB.NET或C#开发。类似的是,开发人员也不会重写他们公司所有的VBA资源,尤其是当前高级用户所维护的那部分。这意味着VSTO和VBA之间的互操作性在未来的几年变得至关重要。

正如Beth Massi解释的那样,整合VBA和VSTO有两种方式。最简单的就是使用应用程序在VSTO中调用VBA宏。因为该宏由函数名所限定,只有到运行时你才会知道,该宏是否丢失或者被误拼。

Beth Massi描述的第二种方法就是从VBA宏调用VSTO代码。在这之前,必须设置EnableVbaCallers属性,使得VSTO代码注册COM interopt。接着,你才可以使用GetManagedClass函数来访问VSTO方法和属性。

详情请登录Beth Massi的博客,参考使用Excel的两种解决方案。

查看英文原文:Working with VBA and Visual Studio Tools for Office

你可能感兴趣的:(使用VBA和Visual Studio工具进行Office开发)