比较 VBA 和 Visual Studio Tools for Office 解决方案

更新:2007 年 11 月

Microsoft Visual Basic for Applications (VBA) 使用与 Office 应用程序紧密集成的非托管代码。Visual Studio Tools for Office 解决方案使您能够利用 .NET Framework 和 Visual Studio 设计工具。

有关可使用 Visual Studio Tools for Office 创建的解决方案类型的信息,请参见 Office 解决方案开发概述

比较

下表提供了 VBA 和 Visual Studio Tools for Office 解决方案之间的基本比较。

Visual Basic for Applications

Visual Studio Tools for Office 解决方案

使用连接到特定文档并在该文档中保持的代码。

使用独立于文档存储的代码(对于文档级自定义项),或使用存储于应用程序所加载程序集中的代码(对于应用程序级外接程序)。

适用于 Office 对象模型和 Visual Basic for Applications API。

适用于 Office 对象模型和 .NET Framework API。

设计目标:录制宏和简化的开发人员体验。

设计目标:安全、更易于进行代码维护,并具有使用 Visual Studio 整体集成开发环境 (IDE) 的能力。

非常适合与 Office 应用程序(IDE、菜单、工具栏按钮等)紧密集成的解决方案。

非常适合得益于 Visual Studio 和 .NET Framework 的全部资源的解决方案。

企业使用有一定的局限性,特别是在安全和部署方面。

设计用于企业。

有些任务还是用 VBA 来完成更轻松。具体说来,您可能需要继续使用 VBA 来完成以下任务:

  • 自定义工作表功能。

  • 宏录制。

合并 VBA 和 Visual Studio Tools for Office 解决方案

您可以从 Visual Studio Tools for Office 解决方案中调用 VBA 代码,也可以从 VBA 中调用 Visual Studio Tools for Office 解决方案的代码。取决于您的 Visual Studio Tools for Office 解决方案是应用程序级外接程序还是文档级自定义项,具体方法会有所不同。有关更多信息,请参见从其他 Office 解决方案调用应用程序级外接程序中的代码结合 VBA 和文档级自定义项

请参见

概念

Office 解决方案开发概述

从其他 Office 解决方案调用应用程序级外接程序中的代码

结合 VBA 和文档级自定义项

文档级自定义项的体系结构

应用程序级外接程序的体系结构

Office 解决方案编程模型

其他资源

Office 解决方案中的安全性 (2003 System)

入门 (Visual Studio Tools for Office)