Microsoft Visual Basic for Applications (VBA) 使用与 Office 应用程序紧密集成的非托管代码。 你可以通过使用 Visual Studio 创建 Microsoft Office 项目以便充分利用 .NET Framework 和 Visual Studio 设计工具。
有关可以使用 Visual Studio 创建的办公室解决方案类型的信息,请参阅办公室解决方案开发概述(VSTO)。
比较
下表提供了 VBA 解决方案和 Visual Studio 中的 Office 解决方案之间的基本比较。
VBA 解决方案 | Visual Studio 中的 Office 解决方案 |
---|---|
使用已连接到特定文档并随之保留的代码。 | 使用独立于文档(用于文档级自定义项)或应用程序加载的程序集(对于 VSTO 外接程序)存储的代码。 |
使用 Office 对象模型和 VBA API。 | 提供对办公室对象模型和 .NET Framework API 的访问权限。 |
专为宏录制而设计,具有更简洁的开发人员体验。 | 专为安全性、更轻松的代码维护和使用完整的 Visual Studio 集成开发环境 (IDE) 的能力而设计。 |
适用于受益于与办公室应用程序的紧密集成的解决方案。 | 适用于受益于 Visual Studio 和 .NET Framework 的完整资源的解决方案。 |
具有针对企业的限制,尤其是在安全性和部署方面。 | 设计用于企业中。 |
使用 VBA 执行某些操作仍可更轻松地快速完成。 具体而言,以下操作可能适合继续使用 VBA:
自定义工作表函数。
宏录制。
组合使用 Visual Studio 创建的 VBA 解决方案和办公室解决方案
可以从使用 Visual Studio 创建的 Office 解决方案中调用 VBA 代码,也可以从 VBA 调用使用 Visual Studio 创建的 Office 解决方案中的代码。 特定方法根据 Office 解决方案是 VSTO 外接程序还是文档级自定义项而有所不同。 有关详细信息,请参阅来自其他办公室解决方案的 VSTO 外接程序中的调用代码,以及合并 VBA 和文档级自定义。