小编jr4*_*643的帖子

使用 Visual Basic 将 PDF 插入 Excel

我正在编写一个宏,它允许用户将 PDF 插入到工作表中。问题是不同的人有不同版本的 Adob​​e。此代码适用于我的机器:

ActiveSheet.OLEObjects.Add(ClassType:="Acrobat.Document.DC", Link:=False, DisplayAsIcon:=False).Activate
Run Code Online (Sandbox Code Playgroud)

但是该代码会在其他人的机器上产生错误,因为他需要这个:

ActiveSheet.OLEObjects.Add(ClassType:="AcroExch.Document.DC", Link:=False, DisplayAsIcon:=False).Activate
Run Code Online (Sandbox Code Playgroud)

注意 ClassType 是不同的。有没有办法检查 ClassType 是否存在?我想做这样的事情:

If Exists(ClassType("Acrobat.Document.DC")) Then
     ActiveSheet.OLEObjects.Add(ClassType:="Acrobat.Document.DC", Link:=False, DisplayAsIcon:=False).Activate
Else 
     ActiveSheet.OLEObjects.Add(ClassType:="AcroExch.Document.DC", Link:=False, DisplayAsIcon:=False).Activate
End If
Run Code Online (Sandbox Code Playgroud)

注意:我可以通过使用 On Resume Error Next 来强制执行此操作,但这似乎不是最干净的方法。

pdf excel vba

4
推荐指数
1
解决办法
79
查看次数

标签 统计

excel ×1

pdf ×1

vba ×1