Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否正在编译Office VBA宏?_Vba_Ms Office - Fatal编程技术网

是否正在编译Office VBA宏?

是否正在编译Office VBA宏?,vba,ms-office,Vba,Ms Office,我试图弄清楚运行在MicrosoftOffice中的VBA代码是否正在被编译(编译成某种中间语言,如MSIL),或者它是一种解释VBA本身的基于解释器的语言 我试图在网上找到一个直截了当的答案,但我能找到任何清晰的答案。我试图找到一个“编译”VBA的API,但我确实找到了(这并不意味着代码没有被编译) 有人知道内部发生了什么事吗,或者至少知道如何检查吗?我不确定这是否是您明确寻找的,但我设法找到了 “用VBA编写的代码被编译成一种称为p-Code(打包代码)的专有中间语言,宿主应用程序(Acce

我试图弄清楚运行在MicrosoftOffice中的VBA代码是否正在被编译(编译成某种中间语言,如MSIL),或者它是一种解释VBA本身的基于解释器的语言

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


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

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

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

从下面的wiki页面

有关p代码的更多信息


希望这有帮助

当我查看p-Code wiki页面时,它确实说p-Code在CIL(公共中间语言)中已被逐步淘汰,但从上面的陈述来看,它似乎仍然在Office中使用。