簡體   English   中英

Excel VBA代碼,用於在Adobe Acrobat中搜索PDF

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM