Удаление заметок о динамиках из презентаций программно
-
22-10-2019 - |
Вопрос
У меня есть много презентаций, которые необходимо поделиться за пределами моей компании, и мне нужен способ пройти через все заметки динамиков и автоматически их удалить. Есть ли способ сделать это в VBA? Я ищу это, но, кажется, ничего не могу найти.
Решение
Этот парень написал сценарий, который удаляет заметки динамика из всех файлов PowerPoint в каталоге. Вы должны быть в состоянии адаптировать его в соответствии с вашими потребностями.
Sub RemoveSpeakerNotes()
Set objPPT = CreateObject("PowerPoint.Application")
objPPT.Visible = True
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set FileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='E:\DirectoryContainingPresentations'} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile In FileList
If objFile.Extension = "pptx" Or objFile.Extension = "ppt" Then
Set objPresentation = objPPT.Presentations.Open(objFile.Name)
Set colSlides = objPresentation.Slides
On Error Resume Next
For Each objSlide In colSlides
objSlide.NotesPage.Shapes(2).TextFrame.TextRange = ""
Next
objPresentation.Save
objPresentation.Close
End If
Next
MsgBox ("Done")
End Sub
Не связан с StackOverflow