编辑 .ppam 文件以定制插件

13

我收到了一个以 .ppam 文件格式提供的 PowerPoint 插件,以及另一个以 .xslm 文件格式提供的 Excel 插件。这些插件都很好用,但我希望按照一些内部要求对它们进行定制。

我的问题是 - 如何打开 .ppam 文件背后的源代码(我了解它是编译版本),以便进行自定义操作。


你尝试过在PowerPoint中按'Alt+F11'打开IDE,并搜索项目窗口中是否有你的插件吗?如果是用VBA创建的,你应该能够在那里找到它并进行编辑... - Kazimierz Jawor
你说得对!当我使用Alt+F11时,我无法在VBE IDE中找到插件。这是否意味着该插件不是用VB创建的,或者我没有看到其他原因。每次打开演示文稿时,我都会加载该插件。目前它并未位于C:\ Users \%USERNAME%\ AppData \ Roaming \ Microsoft \ AddIns中。 - Vijay Ivaturi
它可以使用VB.NET或C#创建,但请检查一下-尝试通过单击添加到插件名称左侧的十字形/正方形图标来扩展项目。此外,您可以在PP应用程序>>文件>>选项>>加载项中检查文件位置... - Kazimierz Jawor
当我按下Alt-F11时,实际上我甚至看不到插件,左侧也没有项目扩展正方形框!我知道文件位置,并且在打开PP后双击.ppam文件以加载插件。但是,我无法看到ppam文件背后的代码。对于我这个新手很抱歉 - 我正在尝试定制/创建并添加一个插件,该插件可以从外部脚本语言(如R / S-plus)更新PP中的注释和图表。 - Vijay Ivaturi
2个回答

30

如果它是PPAM文件,则它是从保存为加载项的PPTM文件中在PowerPoint中创建的。

虽然您可以“就地”编辑加载的加载项进行测试,但您无法编辑并保存它们。但是,您可以导出加载项的模块,然后将它们导入新的PPTM文件或在两者之间复制/粘贴代码。

为了访问所加载的加载项的模块/代码,您需要进行注册表更改。

重要提示:请先退出PowerPoint。

然后转到:

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\PowerPoint\Options

(这适用于PPT 2010;对于PPT 2016/365和PPT 2019,请在14.0的位置替换16.0,对于PPT 2013,请使用15.0,对于PPT 2007,请使用12.0,依此类推...没有13.0)

添加一个新的DWORD值:DebugAddins = 1

重新启动PPT;现在您加载的加载项将出现在VBA IDE中。如果它们没有密码保护,您将能够打开它们,进行测试目的的编辑,并导出模块或在新的PPTM文件中使用复制/粘贴。

确保经常导出任何您已更改的模块;如果退出PPT或它崩溃,您将失去自上次保存以来所做的任何更改。


谢谢Steve!我至少现在可以看到代码。我将开始修改代码以满足我的需求! - Vijay Ivaturi
1
这是一个旧答案,我知道。但你救了我的命。谢谢。 - André Silva
顺便提一下,在Mac PowerPoint中也有类似的技巧。你不需要改变注册表,而是需要改变PowerPoint的Prefs文件。如果你熟悉PPT/Windows的常规注册表设置,那么很容易找到与Mac的Prefs文件对应的关系,并进行必要的更改。 - Steve Rindsberg
1
值得注意的是,如果您在 PowerPoint 运行时创建该值并关闭它,它将重置 DWORD 为 0。如果您进入 RegEdit 并按 F5 更新值,您会发现更改已经生效。只需在关闭所有 PowerPoint 实例后将其改回 1,然后重新打开即可。 - BrainSlugs83
是的!感谢你指出来,@BrainSlugs83。如果不是全部,大部分注册表项都是如此。它们在启动时被读取并保存在内部,然后在更改或关闭时将它们写回,所以当它正在运行时我们所做的任何更改都将被覆盖。 - Steve Rindsberg
显示剩余3条评论

2

如果您也想复制/修改自定义功能区

除了Steve Rindsberg的完美解决方案外,您还可以执行以下操作来传输自定义功能区属性:

  1. 按照Steve的帖子所述,从原始的.ppam文件和修改后的.pptm文件开始。以下我将它们称为OLD.ppamNEW.pptm
  2. 使用Office RibbonX Editor打开OLD.ppamNEW.pptm两个文件。
  3. NEW.pptm文件下,通过单击插入--> Office 2010+自定义UI部分添加一个customUI14.xml条目。
  4. OLD.ppamcustomUI14.xml部分的内容复制到NEW.pptm中的内容。
  5. 获取图标:使用7zip或类似工具在Windows资源管理器中提取OLD.ppam文件。您会在提取的文件夹OLD/customUI/中找到这些图像。
  6. 回到Office RibbonX Editor,在NEW.pptm中单击customUI14.xml。然后,从插入菜单中插入图标。您可以一次选择所有项目。
  7. 在Office RibbonX Editor中保存文件NEW.pptm并关闭它。
  8. 要创建一个加载项,在PowerPoint中打开NEW.pptm并将其另存为NEW.ppam

1
这个还没有得到足够的关注!VBA只是一半的成果,女士们和先生们 - 如果你想要访问你所改变的内容,XML是关键! - JakeyG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接