如何获取已激活/打开的OLE对象的工作簿/工作表的句柄?

时间:2019-03-17 13:35:16

标签: excel vba

我有一个包含数十个嵌入式Excel对象的Excel电子表格。我的目标是将每个Ole对象保存为自己的单独电子表格文件。

我在工作表中找到所有OLEObject,并激活每个OLEObject:

For Each oleObject In sheet.OLEObjects
        oleObject.Activate

激活将创建一个新的工作簿。如何获得此新创建的工作簿的句柄,以便可以保存它并在创建下一个工作簿之前将其关闭? Activate方法返回Variant,但我需要一个工作簿。

还有另一种方法可以实现我的目标吗?

谢谢, 埃迪

1 个答案:

答案 0 :(得分:0)

不确定为什么要激活oleobject-通常不需要激活。

尝试查看oleObject.Parent 这通常是一个工作表对象。

如果是这样,则oleIbject.Parent.Parent将返回父工作簿对象。