用于检测演示文稿是否使用给定模板的Powerpoint Addin

时间:2016-05-22 08:25:36

标签: vba powerpoint-vba

我试图创建一个能够检测打开的文件是否使用某个模板的插件(使用PPT VBA)。如果确实如此,那么它应该调用此模板中编程的公共子。

方案如下:我创建了自己的启用宏的PPT模板,我希望此模板的用户安装了一个插件,可以检测他们何时使用此模板打开该模板或PPT文件。我试图在模板的第一张幻灯片中添加一个带有给定名称的隐藏形状,插件可以在其auto_open子中检查是否存在。问题是在加载文件幻灯片之前,当Powerpoint打开时执行auto_open子程序!我不认为幻灯片加载后会发生自动事件。

Powerpoint版本是2007及以上,有什么建议吗?

1 个答案:

答案 0 :(得分:1)

根据您要完成的任务,启用宏的模板可能不是正确的方法。如果用户在模板上建立新的演示文稿,则新演示文稿将继承模板的内容(幻灯片,vba项目等)。如果他们申请模板,他们只会获得格式,而不是内容。

这对您来说可能是也可能不是问题。

由于您也提供加载项,我倾向于将所有代码放入加载项并坚持使用普通的POTX(不支持宏)模板。 / p>

在加载项中,您可以捕获事件,特别是PresentationOpen事件,该事件在用户打开演示文稿时触发。

我的PPT常见问题解答网站上有更多关于此内容的信息:

http://www.pptfaq.com/FAQ00004_Make_your_VBA_code_in_PowerPoint_respond_to_events.htm

你想要放任何"魔法"幻灯片母版上的形状或模板中的一个布局(即您测试的形状,以确保它是您的模板而不是其他模板)。