我们有15个word docx文件存储在c:\ docs文件夹中,名为“a1.docx,a2.docx,a3.docx ... a15.dox”我创建了一个word文件到通过显示的15个复选框(带文件名)获取用户的选择。
我已将每个复选框的书签命名为“a1,a2,a3 ... a15”。用户可以通过勾选支票从显示的文档列表中选择任意2个或更多文档框。
在当前文档中,有人可以帮助宏<合并 仅选定文档吗?
搜索网络,获取示例vba代码以将特定文件夹中的所有文档合并为单个文件。
我想只合并列表中的选定文件。
这是我用来获取用户反馈并将所选文档逐一合并到当前文档位置的代码:
Private Sub CommandButton1_Click()
Const strPath As String = "C:\Docs\"
If CheckBox1.Value = True Then
Selection.InsertBreak
Selection.InsertFile FileName:=strPath & "a1.docx", Range:="", ConfirmConversions:= _
False, Link:=False, Attachment:=False
End If
If CheckBox2.Value = True Then
Selection.InsertBreak
Selection.InsertFile FileName:=strPath & "a2.docx", Range:="", ConfirmConversions:= _
False, Link:=False, Attachment:=False
End If
Me.Hide
End Sub
答案 0 :(得分:0)
如果您希望在当前打开的文件或新文件中包含所选内容,我不是100%清楚,但在任何一种情况下,原则上都是如此。我已经做了类似的事情,将内容插入到源文件中的模板中,每个文件都被打开,内容被复制然后粘贴到新文件中。
对于每个复选框,您需要执行以下操作:
Documents.Open(FilePath & CheckboxName & ".docx").Activate
ActiveDocument.Range.Select
Selection.Copy 'selects all and copies
'Activate the file you want to paste it into
Documents(FilePath & FileName).Activate
Selection.Paste
Selection.InsertBreak
'close the original document
Documents(FilePath & CheckboxName & ".docx").Close (wdDoNotSaveChanges)