поэтому я обнаружил, что 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
Редактировать: можно открыть любой файл Office 2007 с помощью редактора XML.Я использую редактор пользовательского интерфейса для Microsoft Office и добавляю часть пользовательского интерфейса Office 2007 Custom UI.XML, следуя представленному здесь руководству: http://www.pptalchemy.co.uk/PowerPoint_Auto_Open_Code.html
Но у меня возникают проблемы, когда PowerPoint создает новую презентацию на основеэтот шаблон.Открытие шаблона само по себе работает просто отлично.Там есть обработчик событий, и код работает прекрасно.Но новая презентация на его основе?Нет, обработчик тоже есть.Но он говорит, что не может найти макрос.Хотя макрос также находится в новой презентации, так как я могу открыть редактор Visual Basic и найти макрос, а затем запустить его.Это просто автозапчасть, которая, кажется, не работает так, как должна.