我试图弄清楚是否正在编译在 microsoft office 中运行的 VBA 代码(编译为诸如 MSIL 之类的中间语言),或者它是基于解释器的语言来解释 VBA 本身。
我试图在网上找到一个直接的答案,并且可以找到任何明确的答案。我试图找到一个“编译”VBA 的 API,但我确实找到了任何(这并不意味着代码没有被编译)。
有谁知道内部发生了什么,或者至少知道如何检查它?
我不确定这是否是你明确寻找的,但我设法找到了这个......
“用 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
希望这可以帮助!