使用VBA在Excel中打开一个embedded对象
在一个MS Office文档中,我embedded/插入了一个外部文档(对象)(在我的情况下是PDF)。
打开文档后,点击PDF对象图标,打开embedded的PDF文件。
使用VBA /macros我想要做同样的事情,在哪里我将不得不运行一个macros,它将打开embedded的PDF文件(无需点击PDF ICON)。
可能吗?
谢谢,
Excel中:
您可以从Worksheet
的OLEObjects
获得OLEObject
。 请参阅OLEObjects
– https://msdn.microsoft.com/en-us/library/office/ff840244.aspx,OLEObject – https://msdn.microsoft.com/en-us/library/office/ff838421.aspx,OLEObject成员 – 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
“对象1”是Excel工作表中对象的名称。 该对象必须位于活动工作表中。
字:
在Word中,它取决于embedded对象是InlineShape
还是Shape
。 而且没有OLEObjects
集合。 所以你必须处理Shape.OLEFormat
。 请参阅InlineShapes
– https://msdn.microsoft.com/en-us/library/office/ff822592.aspx , Shapes
– https://msdn.microsoft.com/en-us/library/office/ff845240.aspx,Shape – https://msdn.microsoft.com/en-us/library/office/ff196943.aspx,OLEFormat – 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
总之,当你已经知道你指的是哪个对象时:
高强
Sheets("Sheet1").OLEObjects("Object 1").Activate
字
ActiveDocument.InlineShapes(1).OLEFormat.Open