为什么使用VSTO代替VBA?
VSTO为想要创建Office应用程序的开发者提供了一个专业的开发环境。有许多理由使得您可能想使用VSTO来创建解决方案,也有一些理由使得使用VBA创建解决方案可能会更好。
如果想要进行下列操作,可能会选择VBA创建Office解决方案。
- 为Office 2003专业版之前的版本创建应用程序级的定制。
- 为在VSTO或VSTO 2005 SE中不支持的Office应用程序创建应用程序级的定制,例如Microsoft Access。
- 为Office 2003(标准版)创建文档级的定制。
- 通过使用全局模板为Word和Excel创建应用程序级的定制。
- 通过创建与想要重载的命令有相同名称的宏,重载Word、Excel和Outlook中的原始命令。
- 对终端计算机粘附禁止配置.NET框架的有组织的需求。
如果想要进行下列操作,可能会选择使用VSTO或VSTO 2005 SE来创建Office解决方案。
- 容易添加智能标记到解决方案中。
- 提供仅对特定文档可用的智能标记。
- 在文档和任务窗格中使用更丰富的控件。
- 在离线的文档里存储数据,并在下次文档在线时容易更新。
- 创建有一个稳定装载和卸载机制的加载项。
- 仅使用几行代码定制任务窗格。
- 容易定制Office 2007中的功能区。
- 定制Outlook 2007窗体区域。
- 访问.NET框架类库。
- 使用更健壮的调试工具。
- 获取对Visual Studio的整合开发环境(IDE)里的一些工具的访问,例如数据源窗口和富智能感应功能。
- 使用专业的开发语言,例如Visual Basic 2005或Visual C#,编写可管理代码的解决方案。
- 使用更容易的方法来维护代码和更新配置解决方案,使得代码修改在一个位置(在单个的集里面)而不是在文档的多个副本里或在全局模板中。
- 减少宏病毒的可能,避免最终用户决定是否代码是安全的。
- 在Office解决方案里的文档中,获取对象的数据绑定功能。
- 获取对VSTO提供的扩展Office对象公开的事件的访问。
注:本文整理自《VSTO for Mere Mortals》─—A VBA Developer’s Guide to Microsoft Office Development Using Visual Studio 2005 Tools for Office,有删节。

学习中,跟你交换个链接。http://www.caocao.org
——————
(excelperfect回复)
请您先加上我的链接.