VBA:Acrobat 运行时间错误429; ActiveX 组件无法创建对象
VBA: Acrobat Run time error 429; ActiveX component can't create object
我有以下代码可以从 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 error 429
您不能使用 Adobe Reader 执行此操作,您需要 Adobe Acrobat:
This OLE interface is available with Adobe Acrobat, not Adobe Reader.
我有以下代码可以从 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 error 429
您不能使用 Adobe Reader 执行此操作,您需要 Adobe Acrobat:
This OLE interface is available with Adobe Acrobat, not Adobe Reader.