Pregunta

Tengo muchas presentaciones que deben compartirse fuera de mi empresa y necesito una forma de recorrer todas las notas del altavoz y eliminarlas automáticamente. ¿Hay alguna manera de hacer esto en VBA? Busco en esto, pero parece que no puedo encontrar nada.

¿Fue útil?

Solución

Este chico escribió un script que elimina las notas del altavoz de todos los archivos de PowerPoint en un directorio. Debería poder adaptarlo para satisfacer sus necesidades.

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top