Vba 无法保存从Ms Word提取的OLE文件(pdf),显示对象错误

Vba 无法保存从Ms Word提取的OLE文件(pdf),显示对象错误,vba,ms-word,Vba,Ms Word,我试图将OLE文件(pdf)保存在MS Word文档中,但打开文件成功,但保存时显示“对象不支持此属性或方法” 在这一行中,我得到错误“objEmbeddedDoc.Save filelocation” 请在这方面帮助我 Sub ExtractAndSaveEmbeddedFiles() Dim objEmbeddedShape As InlineShape Dim strShapeType As String, strEmbeddedDocName As String Dim objEmbed

我试图将OLE文件(pdf)保存在MS Word文档中,但打开文件成功,但保存时显示“对象不支持此属性或方法”

在这一行中,我得到错误“objEmbeddedDoc.Save filelocation”

请在这方面帮助我

Sub ExtractAndSaveEmbeddedFiles()
Dim objEmbeddedShape As InlineShape
Dim strShapeType As String, strEmbeddedDocName As String
Dim objEmbeddedDoc As Object
With ActiveDocument
For Each objEmbeddedShape In .InlineShapes 
strShapeType = objEmbeddedShape.OLEFormat.ClassType
objEmbeddedShape.OLEFormat.Open
  
Set objEmbeddedDoc = objEmbeddedShape.OLEFormat.Object

strEmbeddedDocName = objEmbeddedShape.OLEFormat.IconLabel
filelocation = "D:\Users\UAT\" & strEmbeddedDocName
objEmbeddedDoc.Save filelocation

objEmbeddedDoc.Close

Set objEmbeddedDoc = Nothing

Next objEmbeddedShape
End With
End Sub

嵌入对象没有
保存方法。请尝试
Debug.Print TypeName(objEmbeddedDoc)
查找对象的运行时类型,然后查找其文档以查找您要查找的实际成员。“Debug.Print TypeName(objEmbeddedDoc)”的结果为“IAcroAXDoc”。是否有其他选项保存此文件。我想对600个文档执行此操作。请支持我,这是进步!所以,坏消息是,该类型很难查找,我无法通过快速的谷歌搜索找到它。好消息是,由于类型存在于您的计算机上(否则后期绑定将无法工作),那么它所定义的库也存在于您的计算机中:转到“工具/引用”,并尝试查找包含它的类型库-我希望它具有类似于“Adobe Acrobat ActiveX文档类型库”的名称/描述。引用所有看起来可能是它的库,然后点击F2打开对象浏览器(续)我进行了更深入的研究,发现类型可能已定义;如果接口就是用这个定义的,那么它有两个成员:
应用程序
,和
文档
。如果幸运的话,
Document
属性返回的是一个实例,那么修复方法是将
objEmbeddedDoc.Save filelocation
更改为
objEmbeddedDoc.Document.Save filelocation
。注意
.Close
成员调用也会出现错误438;将其设置为
.Document.Close
(注意:该方法接受一个未传递的
布尔值
参数,如果该参数不是可选的,则可能会出现另一种错误)。