Применить мастер-слайд к нескольким PowerPoint

Я совсем новичок в этом. У меня есть куча презентаций Powerpoint, к которым я хотел бы применить мастер-слайд. Все powerpoints находятся в подпапках одной папки (если это имеет смысл)

Поэтому, если кто-то может помочь с кодом, буду очень признателен. код должен:

  1. Откройте FileDialog, чтобы я мог выбрать папку (у меня есть код ниже)

    Sub ShowFileDialog()
    
    Dim dlgOpen As FileDialog
    
    Set dlgOpen = Application.FileDialog(Type:=msoFileDialogOpen)
    
    With dlgOpen
    
        .AllowMultiSelect = True
    
        .Show
    
    End With
    
    End Sub
    
  2. Сканируйте powerpoints в папке и для каждого ppt:

    • Удалить текущий мастер-шаблон (включая ссылки для удаления)

    • Примените новый главный шаблон

    • сохранить и закрыть

Надеюсь, это имеет смысл. Текущий мастер-шаблон сохраняется в виде файла с именем «слайдмастер». Я использую MS powerpoint 2010.


person Syed Uddin    schedule 27.12.2016    source источник


Ответы (1)


Не уверен, что вы подразумеваете под «удалить ссылки», но чтобы применить другой шаблон, вы должны открыть презентацию, а затем:

ActivePresentation.ApplyTemplate sTemplate

где sTemplate = полный путь к файлу POTX, содержащему ваш шаблон.

На этой странице моего сайта PPTFAQ объясняется, как что-то сделать с каждым файлом в папке, который соответствует спецификации файла:

Пакетная обработка: выполнение действий с каждым файлом в папке http://www.pptfaq.com/FAQ00536_Batch-_Do_something_to_every_file_in_a_folder.htm

В этом случае «что-то» будет запускать строку кода выше, а затем сохранять файл.

person Steve Rindsberg    schedule 29.12.2016