我正在尝试编写一个VBA脚本,该脚本查找Word文档中所有嵌入的(.docx)文件,并将其内容复制到父文档中,用文本替换嵌入的对象。我可以使用以下命令找到嵌入的对象:
Selection.GoTo What:=wdGoToObject, Which:=wdGoToNext, Count:=1, Name:= _
"Word.Document.12"
然而,我不清楚如何打开这个选定的对象,以及--更重要的是--如何通过相同的脚本与打开的文件交互。在我走得太远之前,这有可能吗?
发布于 2011-07-25 18:30:18
这对我来说是有效的(轻微测试...)
Sub Tester()
Dim cDocs As Collection
Dim o As InlineShape
Set cDocs = GetEmbeddedDocs(ActiveDocument)
For Each o In cDocs
o.OLEFormat.Open
With ActiveDocument
.Content.Copy
.Close
End With
o.Select
Selection.Paste
Next o
End Sub
Function GetEmbeddedDocs(oDoc As Word.Document) As Collection
Dim o As InlineShape
Dim c As New Collection
For Each o In oDoc.InlineShapes
If o.Type = wdInlineShapeEmbeddedOLEObject Then
If o.OLEFormat.ProgID Like "Word.Document.*" Then
c.Add o
End If
End If
Next o
Set GetEmbeddedDocs = c
End Function
https://stackoverflow.com/questions/6820082
复制相似问题