2

我试图弄清楚是否正在编译在 microsoft office 中运行的 VBA 代码(编译为诸如 MSIL 之类的中间语言),或者它是基于解释器的语言来解释 VBA 本身。

我试图在网上找到一个直接的答案,并且可以找到任何明确的答案。我试图找到一个“编译”VBA 的 API,但我确实找到了任何(这并不意味着代码没有被编译)。

有谁知道内部发生了什么,或者至少知道如何检查它?

4

1 回答 1

5

我不确定这是否是你明确寻找的,但我设法找到了这个......

“用 VBA 编写的代码被编译为称为 P-code(打包代码)的专有中间语言,托管应用程序(Access、Excel、Word、Outlook 和 PowerPoint)将其作为单独的流存储在 COM 结构化存储文件中(例如, .doc 或 .xls)独立于文档流。中间代码然后由虚拟机(由托管应用程序托管)执行[1]。

从以下维基页面..

http://en.wikipedia.org/wiki/Visual_Basic_for_Applications

有关 P 代码的更多信息..

http://en.wikipedia.org/wiki/Microsoft_P-Code

希望这可以帮助!

于 2013-07-10T06:49:52.637 回答