0

我正在做vba项目。要求是将多个word文档内容合并到一个word文档中。它是由 ContentControl 标签来完成的。我已经创建了两个具有唯一内容控制标签 ID 的 word 文档。现在我需要构建将它们的内容合并为一个的逻辑。

  Set WordDoc = WordApp.Documents.Open(FileName)

  With WordApp.ActiveDocument
          For i = 1 To .ContentControls.Count
                Select Case .ContentControls(i).Tag
                    Case "cc1": strEnding = "st"  -- word content including format and style
                    Case "cc2": strEnding = "nd"
                    Case "cc3": strEnding = "rd"
                    Case Else: strEnding = "th"
                End Select
          Next
        End With

现在我想将所有数据(如果有表格也包括格式和样式)合并到一个文档中。

请建议我如何实现这一目标。

4

2 回答 2

1
Sub Foo()
Dim i As Long
Dim MyName As String, MyPath As String
Application.ScreenUpdating = False
Documents.Add

MyPath = "C:\your_path_here\" ' <= change this as necessary

MyName = Dir$(MyPath & "*.doc") ' not *.* if you just want doc files

Do While MyName <> ""
If InStr(MyName, "~") = 0 Then
Selection.InsertFile _
FileName:="""" & MyPath & MyName & """", _
ConfirmConversions:=False, Link:=False, _
Attachment:=False
Selection.InsertBreak Type:=wdPageBreak
End If

MyName = Dir ' gets the next doc file in the directory
Loop

End Sub
于 2015-11-20T20:17:22.710 回答
0

一般来说,它应该在等式的两边使用 Range.FormattedText 。获取一个文档中的目标 Range 并将单个内容控件 Range 的 FormattedText 分配给它。

于 2015-11-20T16:15:06.043 回答