Как сделать так, чтобы Auto Run for vba powerpoint работал? - PullRequest
0 голосов
/ 15 марта 2019

, поэтому я написал некоторый код, который импортирует данные из таблицы Excel и создает из них приятный момент. Теперь проблема, с которой я сталкиваюсь, заключается в том, что макрос должен выполняться вручную после открытия файла powerpoint. Я посмотрел вокруг, и автоматический запуск vba-скрипта в PowerPoint кажется немного сложным. Очевидно, вы можете скачать плагин, но это повлияет только на мою версию PowerPoint и потребует от любого, кто хочет использовать этот файл, также скачать плагин правильно? Любая помощь будет оценена

1 Ответ

1 голос
/ 15 марта 2019

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

  1. Добавить один пустой слайд в презентацию. (Остальные могут быть временно скрыты.)
  2. Используйте вкладку Вставка, чтобы добавить форму (или изображение)
  3. Оставив выбранную форму, выберите «Действие» на той же вкладке «Вставка». Это позволит выбрать макрос для запуска при нажатии кнопки / формы.

Форма может запускать макрос только во время показа слайдов.

  1. Добавьте текстовое поле с четкой инструкцией для пользователя, чтобы нажать F5 для запуска шоу и нажать кнопку.

Вместо того, чтобы запускать основной макрос напрямую, можно создать вспомогательный макрос, который будет запускать основной макрос, но затем также выходить из текущего запущенного слайд-шоу. Например,

Sub Test()
    Call MainMacro

    ActivePresentation.SlideShowWindow.View.Exit
End Sub

Sub MainMacro()
    MsgBox "Doing stuff"
End Sub

Вспомогательный макрос также может показывать существующие слайды:

ActivePresentation.Slides(2).SlideShowTransition.Hidden = msoFalse

Вместо того, чтобы изменять существующую презентацию, эти шаги можно создать как отдельную презентацию с одним слайдом. Сложность здесь заключается в том, что основную презентацию нужно будет открывать из надежного места.

Эта вспомогательная презентация может быть дополнительно сохранена как PowerPoint Macro Enabled Show (pppsm).

...