如何从损坏的PPTM格式VBA宏文件中恢复代码与模块
PPTM文件VBA代码/模块恢复可行方案
- 优先从已有的
.ppam加载项中提取资源:- 将
.ppam文件后缀修改为.zip,直接解压得到完整文件夹结构 - 进入解压后的
ppt目录,找到vbaProject.bin文件,该文件封装了所有VBA代码、模块、窗体资源 - 新建空白
.pptm文件,按Alt+F11打开VBA编辑器,右键点击左侧工程树选择「导入文件」,选中上述vbaProject.bin即可完成所有资源恢复
- 将
- 从损坏的
.pptm文件中直接提取:- 将损坏的
.pptm文件后缀修改为.zip后解压,同样提取ppt目录下的vbaProject.bin文件 - 可直接使用
Office VBA Extractor类工具读取该bin文件,直接导出所有可识别的代码文件 - 若bin文件存在轻微损坏,可通过
OpenXML SDK遍历bin内的模块节点,逐一导出.cls、.bas、.frm格式的模块文件,再手动导入到新的pptm文件中
- 将损坏的
- 临时调整PowerPoint安全设置尝试直接读取:
- 打开PowerPoint主程序,进入「文件-选项-信任中心-信任中心设置-宏设置」,勾选「启用所有宏」,同时取消勾选「禁用所有应用程序加载项」
- 重启PowerPoint后通过程序内的「文件-打开」菜单选择损坏的pptm文件,不要直接双击打开,加载完成后尝试右键导出对应模块
若你的VBA工程设置了密码保护,可使用现成的VBA工程密码移除脚本处理
vbaProject.bin文件后再进行导入操作。
内容的提问来源于stack exchange,提问作者Jegan
相关产品推荐
相关产品推荐

