问与答120:如何将嵌入式的Word文档另存为单独的Word文件?
excelperfect
Q:在Excel工作表中有一个作为OLEObject对象的嵌入式Word文档,我想要使用VBA将这个嵌入式对象作为文件存储到硬盘中。
图1
我使用的代码如下:
Dim oleObjectAs Object
Dim wordDocument As Object
Set oleObject= ActiveWorkbook.Sheets('Sheet1').OLEObjects(1)
Set wordDocument = oleObject.Object
wordDocument.SaveAs('some filename')
如果我双击这个嵌入式OLE对象使其获取焦点,然后单击Excel工作表任意单元格使其失去焦点,再运行上面的代码,代码运行得非常好。然而,如果我关闭工作簿后,再重新打开该工作簿,必须首先双击该嵌入式对象然后单击工作表任意单元格,才能正常运行上面的代码,否则就会出现错误。
如何解决?
A:需要设置OLE对象的Verb方法并选择任意单元格。完整的代码如下:
Sub test()
Dim oleObject As Object
Dim wordDocument As Object
Set oleObject =ActiveWorkbook.Sheets('Sheet1').OLEObjects(1)
oleObject.Verb Verb:=xlPrimary
ActiveSheet.Range('A1').Select
Set wordDocument = oleObject.Object
wordDocument.SaveAs ('somefilename')
End Sub
注:今天的问题整理自vbaexpress.com,供有兴趣的朋友学习参考。
赞 (0)