PowerPoint 2007/2010 надстройка VBA ppam не отображается в редакторе VBA при открытии - PullRequest
2 голосов
/ 26 февраля 2011

Я создал надстройку PowerPoint 2007/2010 VBA (.ppam) для некоторого кода в модуле.Я также добавил ленту XML (не важно, но она показывает, что файл фактически открыт в PowerPoint).Я могу нажать кнопку на ленте, которую я создал, и она выполнит код из моего модуля.круто.

Когда я открываю редактор VBA (ctrl + F11), надстройка не отображается.Фактически, если у меня нет другого открытого документа, я даже не могу открыть редактор.Я пробовал это в PowerPoint 2007 и 2010.

Как мне отредактировать код надстройки PowerPoint, которую я уже создал?Я сделал много надстроек VBA в Excel, но, может быть, PowerPoint отличается (я сумасшедший)?

Ответы [ 2 ]

8 голосов
/ 18 мая 2011

Поздно здесь, на вечеринке, но для полноты картины есть еще один очень полезный трюк, о котором люди могут захотеть узнать.

  1. Закройте PPT, если он работает
  2. В REGEDIT перейдите на HKCU\Software\Microsoft\Office\xx.0\PowerPoint\Options (, где xx.0 - 11.0 для Office 2003, 12.0 для Office 2007, 14.0 для Office2010 )
  3. Add DebugAddins a DWORD=1
  4. Выйти из regedit.

Надстройки теперь появятся в IDE;Вы можете изменять их, запускать их, тестировать их, в основном делать что-либо, кроме СОХРАНИТЬ их, поэтому после отладки вашего кода экспортируйте любые модули / формы / классы, которые вы изменили, чтобы вы могли импортировать их в PPT / PPTM, содержащий ваш коди снова сохранить как надстройку.

Это может сэкономить часы отладки / времени.

4 голосов
/ 27 февраля 2011

Вы не можете напрямую редактировать .ppam, так как он в некотором роде «скомпилирован». Способ сделать это - сохранить весь ваш код / ​​настройки в .pptm (и убедиться, что вы сохраняете этот .pptm как .pptm), а когда вы хотите протестировать его как надстройку, выполните «Сохранить как ...». ".ppam, а затем загрузить его. Не доволен этим? Вернитесь к вашему .pptm и внесите в него изменения.

Кстати, если вы не хотите использовать ленту только для того, чтобы убедиться, что она загружена как надстройка, просто используйте макрос AutoOpen (в любом модуле), например:

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

Вы можете удалить этот макрос AutoOpen позже, когда вы будете удовлетворены надстройкой.

...