下記のExcelVBAを実行するとA列(クリックするとPDFが開くハイパーリンク)のPDFのページ数がB列に次々入力されていくのですが、数百件ある場合、10分近く時間がかかります。
もっと時間を短縮するために改善する点または別の方法がありましたら教えていただけると助かります。よろしくお願いいたします。
Sub ページ数取得()
Dim path
path = ThisWorkbook.path
Dim row, filename
row = 2
Do Until Cells(row, 1) = ""
filename = Cells(row, 1)
Dim xStr As String
Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "/Type\s*/Page[^s]"
xFileNum = FreeFile
Open (filename) For Binary As #xFileNum
xStr = Space(LOF(xFileNum))
Get #xFileNum, , xStr
Close #xFileNum
Cells(row, 2) = RegExp.Execute(xStr).Count
row = row + 1
Loop
End Sub
回答2件
あなたの回答
tips
プレビュー