繁体   English   中英

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 Adob​​e Acrobat 10.0类型库Adobe Reader文件预览类型库

从Google搜索查询的第一个结果:

createobject acroexch.app错误429

你不能用Adobe Reader做到这一点,你需要Adobe Acrobat:

此OLE接口可用于Adobe Acrobat,而不是Adobe Reader。

https://forums.adobe.com/thread/657262

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM