正在编译Office VBA宏?

TCS*_*TCS 2 vba ms-office

我试图弄清楚在Microsoft Office中运行的VBA代码是否正在编译(对于像MSIL这样的中间语言),还是基于解释器的语言解释VBA本身.

我试图在网上找到一个直接的答案,可以找到任何清楚的答案.我试图找到一个"编译"VBA的API,但我找到了任何(这并不意味着代码没有被编译).

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

Con*_*dor 5

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

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

从以下维基页面..

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

有关P-Code的更多信息..

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

希望这可以帮助!