Visual Studio 中的 VBA 和 Office 解决方案比较

Microsoft Visual Basic for Applications(VBA)使用与 Office 应用程序紧密集成的非托管代码。 Microsoft使用 Visual Studio 创建的 Office 项目使你能够利用 .NET Framework 和 Visual Studio 设计工具。

有关可以使用 Visual Studio 创建的 Office 解决方案类型的信息,请参阅 Office 解决方案开发概述(VSTO)。

Comparison

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

VBA 解决方案 Visual Studio 中的 Office 解决方案
使用与特定文档关联并保持持久性的代码。 使用代码,该代码要么存储在文档之外(用于文档级别的自定义),要么存储在由应用程序加载的程序集内(用于 VSTO 外接程序)。
适用于 Office 对象模型和 VBA API。 提供对 Office 对象模型和 .NET Framework API 的访问权限。
专为宏录制和简化开发体验而设计。 专为安全性、更简单的代码维护以及使用完整的 Visual Studio 集成开发环境(IDE)的能力而设计。
适用于受益于与 Office 应用程序紧密集成的解决方案。 非常适合那些能够充分利用 Visual Studio 和 .NET Framework 完整资源的解决方案。
对企业的限制,尤其体现在安全性和部署方面。 设计用于企业。

使用 VBA 快速完成一些事情更容易。 具体而言,你可能想要继续使用 VBA 来:

  • 自定义工作表函数。

  • 宏录制。

组合使用 Visual Studio 创建的 VBA 解决方案和 Office 解决方案

可以从使用 Visual Studio 创建的 Office 解决方案调用 VBA 代码,还可以从 VBA 使用 Visual Studio 创建的 Office 解决方案中调用代码。 具体技术因 Office 解决方案是 VSTO 外接程序还是文档级自定义而有所不同。 有关详细信息,请参阅 来自其他 Office 解决方案的 VSTO 外接程序中的呼叫代码以及合并 VBA 和文档级自定义