我们遇到了一个Word文件内嵌入了PPT在苹果电脑无法打开,提示错误“ the program used to create this object is powerpoint that program is not installed on your computer”
目录
- TOC {:toc}
微软答复
Microsoft Answer 微软的意思是好像macOS上不支持这类型嵌入,那么如果文件比较多,我们如何批量将嵌入文件在Windows电脑提取出来呢?
通过VBA实现提取
datanumen
- First and foremost, click on “Developer” tab and then the “Visual Basic”. Or just press “Alt F11” instead if the “Developer” tab isn’t available.Click “Developer”->Click “Visual Basic”
- Next click “Normal” project.
- Then click “Insert” tab.
- Choose “Module” on the drop-down menu.Click “Normal”->Click “Insert”->Click “Module”
- Now double click on the new module to have the coding space.
- And paste the bellowing codes there:
Sub ExtractAndSaveEmbeddedFiles()
Dim objEmbeddedShape As InlineShape
Dim strShapeType As String, strEmbeddedDocName As String
Dim objEmbeddedDoc As Object
With ActiveDocument
For Each objEmbeddedShape In .InlineShapes
' Find and open the embedded doc.
strShapeType = objEmbeddedShape.OLEFormat.ClassType
objEmbeddedShape.OLEFormat.Open
' Initialization
Set objEmbeddedDoc = objEmbeddedShape.OLEFormat.Object
' Save embedded files with names as same as those of icon label.
strEmbeddedDocName = objEmbeddedShape.OLEFormat.IconLabel
objEmbeddedDoc.SaveAs "C:UsersPublicDocumentsNew folder" & strEmbeddedDocName
objEmbeddedDoc.Close
Set objEmbeddedDoc = Nothing
Next objEmbeddedShape
End With
End Sub
- Finally, click “Run” button or hit “F5”.Paste Codes->Click “Run” All embedded files will be stored under a specific directory with their original names
Note: 修改代码内文件储存位置
In code line “objEmbeddedDoc.SaveAs “C:UsersPublicDocumentsNew folder” & strEmbeddedDocName”, the “C:UsersPublicDocumentsNew folder” is the location for storing files. Remember to replace it with an actual one. 例如改为C:UsersYourUserNameDownloadsfilesexport