我找到了这个VBA函数,它读取Binary的PDF文件,找出文件中的总页数。有人可以说明我们如何使用VBScript做到这一点。这是VBA代码:
Function GetPageNum(PDF_File As String)
Dim FileNum As Long
Dim strRetVal As String
Dim RegExp
Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "/Type\s*/Page[^s]"
FileNum = FreeFile
Open PDF_File For Binary As #FileNum
strRetVal = Space(LOF(FileNum))
Get #FileNum, , strRetVal
Close #FileNum
GetPageNum = RegExp.Execute(strRetVal).Count
End Function
答案 0 :(得分:3)
你可以这样做:
Function GetPageNum(PDF_File)
Dim strRetVal
Dim RegExp: Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "/Type\s*/Page[^s]"
Dim oFSO: Set oFSO = CreateObject("Scripting.FileSystemObject")
Dim oFile: Set oFile = oFSO.GetFile(PDF_File)
If IsNull(oFile) Then
'TODO: handle file-not-found, etc.
Exit Function
End If
With oFile.OpenAsTextStream()
strRetVal = .Read(oFile.Size)
.Close
End With
GetPageNum = RegExp.Execute(strRetVal).Count
End Function
我刚试过它,它运作得很好。以下是一个使用示例:
Dim pageNum
pageNum = GetPageNum("Your\PDF\FilePath.pdf")
MsgBox pageNum
希望这有帮助。