我要把几百个WORD文档插入到一个WORD文档里面。第一行是word的文件名。后面是WORD的文件内容。
发布网友
发布时间:2022-05-15 07:28
我来回答
共3个回答
热心网友
时间:2023-10-13 16:00
只能用宏过程来处理了。
Sub 插入文件名及其内容()
Ag:
Path = InputBox("请指定待插入的word文件所在的文件夹。", "消息", Application.Path)
If Dir(Path & "\*.doc") = "" And Dir(Path & "\*.docx") = "" Then
rc = MsgBox("该目录不存在word文档,请重新指定!", vbCritical + vbRetryCancel, "消息")
If rc = vbRetry Then GoTo Ag
Exit Sub
End If
Selection.WholeStory
Selection.Delete Unit:=wdCharacter, Count:=1
f = Dir(Path & "\*.doc")
If f = "" Then f = Dir(Path & "\*.docx")
If f <> "" Then
i=0
Do
i=i+1
pos = InStrRev(f, ".")
ft = Left(f, pos - 1)
Selection.Text = "文件" & i & "(" & ft ")" & vbCrLf '这是插入文件名的
Selection.EndKey
Selection.MoveDown
f = Path & "\" & f
Selection.InsertFile FileName:=f, Range:="", ConfirmConversions:=False, Link:=False, Attachment:=False '这是插入文档内容的
Selection.Text = vbCrLf & vbCrLf
Selection.EndKey
f = Dir()
Loop While f <> ""
ActiveDocument.SaveAs FileName:="C:\合并后的文档.doc", FileFormat:=wdFormatDocument, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False
MsgBox "处理完毕!合并后的文档保存为 C:\合并后的文档.doc", vbInformation + vbOKOnly, "消息"
Shell "explorer.exe /select,c:\合并后的文档.doc", vbNormalFocus
End If
End Sub
把这个宏过程粘贴到宏过程编辑器里面,按F5运行即可。
有关文件批量处理的其他功能,可参见 《文件批量处理百宝箱V10.0》中的相关功能。
热心网友
时间:2023-10-13 16:00
大哥,批量插入的全部都是文件内容,文档名称和文件内容我觉得是不能同时插入的,你是不是可以试试把文档名称都复制到文件内容的最开始,这样文档名称就成为了文件内容,批量导入的时候自然也就形成了你的那个格式了。
热心网友
时间:2023-10-13 16:01
把这个文件放到你要合并的文件夹中,打开后运得一下AAA宏,就会合并这个文件目录下的所有.docx为后缀的word文档