我有以下代码可从Excel VBA中的PDF文件中读取内容:
'Note: A Reference to the Adobe Library must be set in Tools|References!
Dim AcroApp As CAcroApp, AcroAVDoc As CAcroAVDoc, AcroPDDoc As CAcroPDDoc
Dim AcroHiliteList As CAcroHiliteList, AcroTextSelect As CAcroPDTextSelect
Dim PageNumber, PageContent, Content, i, j
Set AcroApp = CreateObject("AcroExch.App")
Set AcroAVDoc = CreateObject("AcroExch.AVDoc")
If AcroAVDoc.Open(strFileName, vbNull) <> True Then Exit Function
' The following While-Wend loop shouldn't be necessary but timing issues may occur.
While AcroAVDoc Is Nothing
Set AcroAVDoc = AcroApp.GetActiveDoc
Wend
Set AcroPDDoc = AcroAVDoc.GetPDDoc
For i = 0 To AcroPDDoc.GetNumPages - 1
Set PageNumber = AcroPDDoc.AcquirePage(i)
Set PageContent = CreateObject("AcroExch.HiliteList")
If PageContent.Add(0, 9000) <> True Then Exit Function
Set AcroTextSelect = PageNumber.CreatePageHilite(PageContent)
' The next line is needed to avoid errors with protected PDFs that can't be read
On Error Resume Next
For j = 0 To AcroTextSelect.GetNumText - 1
Content = Content & AcroTextSelect.GetText(j)
Next j
Next i
ReadAcrobatDocument = Content
AcroAVDoc.Close True
AcroApp.Exit
Set AcroAVDoc = Nothing: Set AcroApp = Nothing
End Function
Sub demo()
Dim str As String
str = ReadAcrobatDocument("C:\Desktop\asdf.pdf")
End Sub
但是,我在运行时429错误
Set AcroApp = CreateObject("AcroExch.App")
怎么了?我有Adobe Reader X,我检查过的参考资料是:
Acrobat Access 3.0类型库AcroBrokerLib AcroIEHelper 1.0类型库AcroIEHelperShim 1.0类型库Adobe Acrobat浏览器控件类型库1.0 Adobe Acrobat 10.0类型库Adobe Reader文件预览类型库
从Google搜索查询的第一个结果开始:
createobject acroexch.app错误429
您无法使用Adobe Reader进行此操作,需要Adobe Acrobat:
此OLE接口可用于Adobe Acrobat,而不适用于Adobe Reader。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句