如何使用 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)。
第 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 并弹出以下消息
输出: