首页 > 解决方案 > 如何检查是否在excel中创建了activex对象?

问题描述

我在使用用于获取页码的 PDF 对象时遇到问题,

Set AcroExchApp = CreateObject("AcroExch.App")    'Acrobat Exchange
Set AcroExchPDDoc = CreateObject("AcroExch.PDDoc")

在某些机器上,该代码在这一行上会失败。

我如何让它优雅地失败?

标签: excelvba

解决方案


我终于找到了一种优雅的方法来处理错误,提示用户安装所需的应用程序

On Error Resume Next
Set AcroExchApp = CreateObject("AcroExch.App")    'Acrobat Exchange
Set AcroExchPDDoc = CreateObject("AcroExch.PDDoc")
'AcroExchApp.Show ' Show the Acrobat Exchange window
On Error GoTo 0
'check if activex pdf object exists
If AcroExchApp Is Nothing Or AcroExchPDDoc Is Nothing Then
    MsgBox "Adobe Acrobat Pro Activex control not found." & _
        vbCrLf & "Please install Adobe Acrobat Pro and try again"
    Exit Sub
End If

推荐阅读