所以我发现 PowerPoint 2007 确实支持应用程序级别的事件处理程序。例如Application.NewPresentation
甚至Application.AfterNewPresentation
它在这里描述http://msdn.microsoft.com/en-us/library/ff745073.aspx
但真正的问题是,我该如何使用这些?我在哪里使用它们?告诉你我的场景,我想要的是在几个文本框中插入动态文本。我有执行此操作的宏代码,它完全按照我的意愿工作。但是,一旦从 potm 模板创建了新的演示文稿,我就需要触发宏。并且只在那个事件上。就像在 Word 2007 中一样。
我从哪说起呢?我试图创建一个看起来像这样的子并将其保存为 potm 文件并基于该模板打开一个新的演示文稿。什么也没发生。
Private Sub App_NewPresentation(ByVal Pres As Presentation)
MsgBox "Running!"
End Sub
编辑:可以使用 XML 编辑器打开任何 Office 2007 文件。我使用 Microsoft Office 的自定义 UI 编辑器,并按照此处提供的指南添加 Office 2007 自定义 UI.XML 部分:http: //www.pptalchemy.co.uk/PowerPoint_Auto_Open_Code.html
但是当 PowerPoint 基于该模板创建新演示文稿时,我遇到了问题。打开模板本身就可以了。事件处理程序在那里,代码运行良好。但是基于它的新演示文稿?没办法,处理程序也在那里。但它说它找不到宏。即使宏也在新的演示文稿中,因为我可以打开 Visual Basic 编辑器并找到宏然后运行它。只是汽车零件似乎没有按应有的方式工作。