3

我在一个模块中创建了一个 PowerPoint 2007/2010 VBA 加载项 (.ppam) 一些代码。我还添加了一个 XML 功能区(不重要,但它显示该文件实际上已在 PowerPoint 中打开)。我可以单击我创建的功能区中的一个按钮,它将执行我模块中的代码。凉爽的。

当我打开 VBA 编辑器 (ctrl + F11) 时,加载项不显示。事实上,如果我没有打开另一个文档,我什至无法打开编辑器。我已经在 PowerPoint 2007 和 2010 中尝试过。

如何编辑已创建的 PowerPoint 加载项的代码?我在 Excel 中制作了许多 VBA 加载项,但也许 PowerPoint 不同(我疯了吗)?

4

2 回答 2

11

在这里聚会迟到了,但为了完整起见,人们可能还想知道另一个非常有用的技巧。

  1. 如果 PPT 正在运行,请关闭它
  2. 在 REGEDIT 中,转到HKCU\Software\Microsoft\Office\xx.0\PowerPoint\Options其中 xx.0 是 Office 2003 的 11.0,Office 2007 的 12.0,Office 2010 的 14.0
  3. 添加DebugAddins一个DWORD=1
  4. 退出注册表。

加载项现在将出现在 IDE 中;你可以修改它们,运行它们,测试它们,除了保存它们之外基本上做任何事情,所以在你的代码被调试后,导出你改变的任何模块/表单/类,这样你就可以将它们导入到包含你的代码的 PPT/PPTM并再次另存为加载项。

这可以节省数小时的调试乏味/时间。

于 2011-05-18T00:47:17.643 回答
4

您不能直接编辑 .ppam,因为它有点“已编译”。执行此操作的方法是将所有代码/自定义项保存在 .pptm 中(并确保将 .pptm 保留为 .pptm),当您想将其作为加载项进行测试时,请执行“另存为.. " 到 .ppam 然后加载它。不满意?返回到您的 .pptm 并在那里进行更改。

顺便说一句,如果您不想使用功能区只是为了确保它已作为加载项加载,只需使用 AutoOpen 宏(在任何模块中),例如:

Sub Auto_Open()
    MsgBox "My add-in has loaded"
End Sub

一旦您对加载项感到满意,您可以稍后删除该 AutoOpen 宏。

于 2011-02-26T21:02:42.003 回答