学习Excel技术,关注微信公众号:
excelperfect
在《Python实战01:合并多个PDF文件》和《Python实战02:分别合并多个相似文件名的PDF文件》中,我们使用Python代码对PDF文件进行操作来合并PDF文件。其实,使用VBA也能合并PDF文件。
假设在同一文件夹中放置了要合并的PDF文件所在的文件夹、合并后的文件存放的文件夹、以及代码工作簿,其中要合并的文件存放在名为“PDF文件”的文件夹中,合并后的文件放在名为“合并的文件”的文件夹中,如下图1所示。
图1
首先,需要在VBE中设置对“Adobe Acrobat 10.0 Type Library”的引用。在VBE中,单击菜单“工具——引用”,在“引用”对话框中找到并选取“Adobe Acrobat 10.0 Type Library”,如下图2所示。
图2
注意,如果没有安装相应的Adobe Reader版本,可能找不到这个库。
接下来,编写代码实现合并功能。
下面的代码列出文件夹“PDF文件”中所有的PDF文件名:
Sub ListPDFFiles()
Dim fso As Object
Dim sFolder As Object
Dim fileItem As Object
Dim folderName As String
Dim iRow As Long
folderName = ThisWorkbook.Path &"\PDF文件\"
Set fso =CreateObject("Scripting.FileSystemObject")
Set sFolder = fso.GetFolder(folderName)
With Sheets("Sheet1")
.Columns(1).ClearContents
.Range("A1") = "PDF文件名"
For Each fileItem In sFolder.Files
iRow = .Cells(Rows.Count,1).End(xlUp).Row + 1
.Cells(iRow, 1) = fileItem.Name
Next fileItem
End With
Set fso = Nothing
End Sub
代码运行后的结果如下图3所示。