[英]Excel VBA code for searching PDF in Adobe Acrobat
我想在PDF文件中搜索字符串並打印計數的實例數。 我已經為Word,Excel和Powerpoint做到了這一點,但從未為Acrobat做過。 調用acroDoc.Range時出現錯誤,因此我認為這是Acrobat的錯誤語法。
運行時錯誤“ 450”:參數數量錯誤或屬性分配無效。
我在Adobe文檔中找不到答案。 選擇整個文檔並搜索字符串的正確語法是什么?
Sub pdfSearch()
Dim acroApp As Object
Dim acroDoc As Object
Dim aRng As Object
Dim i As Integer
i = 0
Set acroApp = CreateObject("AcroExch.App")
Set acroDoc = CreateObject("AcroExch.pddoc")
acroDoc.Open ("C:\Documents\example.pdf")
Set aRng = acroDoc.Range
With aRng.Find
Do While .Execute(FindText:="desk", MatchCase:=False)
i = i + 1
Loop
End With
acroDoc.Close 0
Set aRng = Nothing
Set acroDoc = Nothing
Set acroApp = Nothing
Debug.Print (i)
End Sub
Acrobat沒有Range的概念。 FindText查找指定的文本,滾動使其可見並突出顯示。 找到文本時,返回值為-1。 除非您還傳遞一個參數來重置選擇,否則后續的調用將從您上次中斷的地方開始,以便獲得計數,然后循環直到返回值不是-1。 我已經有一段時間沒有使用VAB了,但是我認為代碼看起來像這樣……
i = 0
Set acroApp = CreateObject("AcroExch.App")
Set acroDoc = CreateObject("AcroExch.AVDoc")
acroDoc.Open ("C:\Documents\example.pdf")
Do While acroDoc.FindText("desk",0) == -1
i = i + 1
Loop
FindText的文檔: http : //help.adobe.com/zh_CN/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FIAC_API_OLE_Objects%2FFindText.htm
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.