Как преобразовать несколько файлов PowerPoint в PDF с помощью Excel VBA?

Опубликовано: 30 Сентября, 2022

Часто клиентам нужны файлы PPT в формате PDF. Это помогает просматривать на любом устройстве. Используйте приведенный ниже макрос VBA для преобразования файлов PowerPoint из папки и сохранения их в формате PDF в той же папке.

Реализация:

Выполните следующие шаги, чтобы преобразовать несколько файлов PowerPoint в PDF-файлы с помощью Excel VBA:

Шаг 1: Откройте Эксель.

Шаг 2: Введите текст «Путь к папке» в ячейку «B5» (изображение 1).

Шаг 3: Введите полный путь к папке в ячейке «C5» (Изображение 1). Здесь у нас есть папка «D:Excel29.ppt2pdfppt» с двумя файлами PPT (Изображение 2).

Изображение 1

Изображение 2

Шаг 4: Напишите ниже код VBA в вашем модуле VBE.

Sub ppt2pdf_Macro()
Dim oPPTApp As PowerPoint.Application
Dim oPPTFile As PowerPoint.Presentation
Dim onlyFileName As String, folderPath As String, pptFiles As String, removeFileExt As Long
      
Application.ScreenUpdating = False
  • Инициализировать переменные
folderPath = Range("C5").Text & ""
pptFiles = Dir(folderPath & "*.pp*")
  • Проверьте и выйдите из макроса, если в папке нет файлов ppt
If pptFiles = "" Then
    MsgBox "No files found"
    Exit Sub
End If

Do While pptFiles <> ""
  • Назначить приложение PowerPoint переменной
    Set oPPTApp = CreateObject("PowerPoint.Application")
    oPPTApp.Visible = msoTrue
      
    On Error Resume Next
  • Назначить презентацию PowerPoint переменной
    Set oPPTFile = oPPTApp.Presentations.Open(folderPath & pptFiles)
        
    On Error GoTo 0
  • Удалить расширение файла и назначить единственное имя файла переменной
    removeFileExt = InStr(1, oPPTFile.Name, ".") - 1
    onlyFileName = Left(oPPTFile.Name, removeFileExt)
    
    On Error Resume Next
  • Сохранить файл ppt в файл pdf
    oPPTFile.ExportAsFixedFormat oPPTFile.Path & "" & onlyFileName & ".pdf", ppFixedFormatTypePDF, ppFixedFormatIntentPrint
    oPPTFile.Close
  • Перейти к следующему файлу в папке
    pptFiles = Dir()
Loop
  • Закройте приложение PPT и освободите память
oPPTApp.Quit

Set oPPTFile = Nothing
Set oPPTApp = Nothing
    
Application.ScreenUpdating = True

MsgBox " Successfully converted"
End Sub

Шаг 5: Для запуска кода VBA:

  • Нажмите «Alt + F8» — чтобы открыть диалоговое окно «Макрос».
  • Выберите макрос «ppt2pdf_Macro» и нажмите «Выполнить».

Шаг 6: Макрос преобразует все файлы PPT из папки в PDF и отображает всплывающее сообщение ниже.

Выход: