使用VBA在Excel中打开嵌入对象

fslejnso  于 2022-11-18  发布在  其他
关注(0)|答案(3)|浏览(595)

在一个ms office文档中,我嵌入/插入了一个外部文档(对象)(在我的例子中是PDF)。
打开文档后,当我单击PDF对象图标时,它会打开嵌入其中的PDF文件。
使用VBA /宏我想做同样的事情,在那里我必须运行一个宏,它将打开嵌入的PDF文件(没有点击PDF图标)。
这可能吗?
谢谢你,

disho6za

disho6za1#

电子表格:

您可以从WorksheetOLEObjects取得OLEObject。请参阅OLEObjects-https://msdn.microsoft.com/en-us/library/office/ff840244.aspxOLEObject-https://msdn.microsoft.com/en-us/library/office/ff838421.aspxOLEObject成员-https://msdn.microsoft.com/EN-US/library/office/ff841208.aspx
有一个方法Verb,它有一个打开对象的动词。参见https://msdn.microsoft.com/EN-US/library/office/ff838827.aspx-Verb s -https://msdn.microsoft.com/EN-US/library/office/ff820926.aspx
示例:

Sub test()
 With ActiveSheet
  Set o = .OLEObjects("Objekt 1")
  o.Verb xlVerbOpen
 End With
End Sub

“Objekt 1”是Excel工作表中对象的名称。该对象必须位于活动工作表中。

关键字:

在Word中,这取决于嵌入对象是在InlineShape还是Shape中。并且没有OLEObjects集合。因此必须使用Shape.OLEFormat进行处理。请参阅InlineShapes-https://msdn.microsoft.com/en-us/library/office/ff822592.aspxShapes-https://msdn.microsoft.com/en-us/library/office/ff845240.aspxShape-https://msdn.microsoft.com/en-us/library/office/ff196943.aspxOLEFormat-https://msdn.microsoft.com/EN-US/library/office/ff197153.aspx
示例:

Sub test()

 With ActiveDocument
  Set oShape = .InlineShapes(1) 'The embedded object is the first InlineShape.
  'Set oShape = .Shapes(1) 'The embedded object is the first Shape.
  Set oOLEFormat = oShape.OLEFormat
  oOLEFormat.Open
 End With

End Sub
hec6srdp

hec6srdp2#

简而言之,当您已经知道所指的对象时:

电子表格

Sheets("Sheet1").OLEObjects("Object 1").Activate

单词

ActiveDocument.InlineShapes(1).OLEFormat.Open
e4yzc0pl

e4yzc0pl3#

试试看:

Sub test()
    With ActiveSheet
        Set o = .OLEObjects("Objekt 1")
        o.Verb xlPrimary
    End With
End Sub

相关问题