Как записать изменения слайдов PowerPoint в файл?

StackOverflow https://stackoverflow.com/questions/1880265

  •  18-09-2019
  •  | 
  •  

Вопрос

Я хочу записывать в файл каждый раз при смене слайда (далее / назад) в PowerPoint.

С помощью presentation.pps я хочу записать в файл что-то вроде:

  1. презентация - слайд 1 - 11h04m03s
  2. презентация - слайд 2 - 11h04m34s

Кто-нибудь знает, как это сделать?

Это было полезно?

Решение

Хорошо, итак, вот что вам нужно сделать.Обратите внимание на одну важную вещь - PPS не включает в себя метод запуска макроса при открытии PPS.Если вам нужна такая функциональность, создайте вместо нее надстройку (ppa).

Для PPS создайте модуль и класс.(Если вы не уверены, как это сделать, возможно, вам потребуется подробнее изучить Объектную модель, прежде чем продолжить).Модуль может быть назван как угодно.Назовите класс "clsWriteToFile Файл clsWriteToFile".В clsWriteToFile Файл clsWriteToFile, поместите следующее:

Public WithEvents PPTEvent As Application 'this is at the top of the class

Private Sub PPTEvent_SlideShowNextSlide(ByVal Wn As SlideShowWindow)
'MsgBox ActivePresentation.Slides.Item(1).SlideNumber
'This is meant to illustrate that it is here you will write what you need to the file,
'like a slide number or time stamp, etc.
End Sub

В модуле поместите следующее:

Public newPPTEvents As New clsWriteToFile
Sub StartLogging()
Set newPPTEvents.PPTEvent = Application
'this would be the location you either create the file or open an existing one.
End Sub

Вам нужно будет написать код для чтения / записи из файла.FileSystemObject полезен в этом отношении.

Чтобы заставить это работать с PPS, не заходя в VBA, вам нужно будет вручную запустить сам слайд.Примером может быть добавление формы к первому слайду, например, закругленной прямоугольной формы.Добавьте его и введите "Начать показ".Затем добавьте Экшен.Действие будет происходить на "Щелчок мышью"->"Запустить Макрос" а затем выберите Ведение стартового журнала подпрограмма.

И это все.

Если вы используете PPA вместо PPS, вы могли бы устранить необходимость в последнем шаге, просто назвав "Ведение стартового журнала" рутина для "Авто_открытие".

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top