MS应用程序可以运行VBA代码吗?

我刚开始学习VBA。 据我所知,使用VBA在MS-Excel中编写macros。 但是我想知道它是否是VBA的唯一应用领域。 它可以像许多其他标准语言一样使用,例如Python。

如果是这样的话,我该如何编译一个VBA程序? 是否应该编译? 我怎样才能运行这样的VBA程序?

VBA被编译成p代码。 P代码是一种中间语言,需要额外的运行时才能执行。 此运行时由大多数Microsoft Office应用程序(包括各种非Microsoft应用程序)托pipe。

总之,你不能写一个编译为.EXE的VBA应用程序。

要创build一个独立的类VBA程序,您将需要使用Visual Basic 6或更早版本。 Visual Basic 6的inheritance者当然是VB.NET,这是一个非常不同的动物。

VBA可以被授权,并且在办公室之外有相当多的使用VBA的产品。 MS不再颁发新的许可证。 有一些非MS VBA实现,就像Summit软件一样。 无论如何,你需要有自己的产品,将主持VBA。

支持VBA的值得注意的应用程序是AutoDesk AutoCAD。 它授权VBA运行时并拥有自己的对象模型。

如果不提前编译该程序(在Visual Basic编辑器中单击debugging – >编译),然后Microsoft Office在运行时编译它。 你真的应该经常编译,因为这是你如何find编译错误。

如何运行VBA应用程序完全取决于您如何设置运行。 在Excel中,例如,可以在打开工作簿时使Workbook_Open事件启动代码,或者创build用户单击运行代码的自定义菜单。 在Access中,您可以设置一个表单,以便在数据库打开时显示,或者创build将在数据库打开时运行的自动执行macros。 等等

就像上面说的其他人一样,您不能创buildVBA的.exe文件。 代码必须在Microsoft Office应用程序中运行。