📜  如何使用 Excel VBA 将多个 PowerPoint 文件转换为 Pdf?

📅  最后修改于: 2022-05-13 01:57:35.242000             🧑  作者: Mango

如何使用 Excel VBA 将多个 PowerPoint 文件转换为 Pdf?

客户通常需要将 PPT 文件作为 PDF 文件。它有助于在任何设备上查看。使用下面的 VBA 宏来转换文件夹中的 PowerPoint 文件,并将它们保存为同一文件夹中的 PDF。

执行:

按照以下步骤使用 Excel VBA 将多个 PowerPoint 文件转换为 PDF:

第一步:打开Excel。

第2步:在单元格“B5”中输入文本“文件夹路径”(图1)。

第 3 步:在单元格“C5”中输入您的文件夹完整路径(图 1)。这里我们有一个文件夹“D:\Excel\29.ppt2pdf\ppt”,里面有两个 PPT 文件(图 2)。

图 1

图 2

第 4 步:在您的 VBE 模块中编写以下 VBA 代码

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 并弹出以下消息

输出: