【VBA】将多个word文件合并到一个文件中
━━━━━━━━━━━━━━━━━━━━━━━━━
前几天答辩,论文是用word分章写的,每章一个word文件。
今天在线提交论文,被告知必须将所有文件合并成一个才能提交,怒。
于是就写了个小程序来做这个事情。
不是很完美,但是够用了。
代码如下:
Option Explicit
Sub mergeFiles()
Dim filename As String
Dim doc As Document
Set doc = ThisDocument
\'清除当前文档中的内容
doc.Content.Delete
\'遍历目录中全部doc文件,调用mergeDoc过程处理
ChDir ("C:\test\")
filename = Dir("*.doc")
Do While Len(filename)
mergeDoc filename, doc
filename = Dir
Loop
End Sub
Sub mergeDoc(filename As String, doc As Document)
Dim app As Application
Dim newDoc As Document
Dim sec As Section
Set app = Application
\'打开要添加的doc文件
Set newDoc = app.Documents.Open(filename)
\'在当前文档中新建一节
Set sec = doc.Sections.Add
\'将doc文件的内容拷贝到剪贴板中
newDoc.Content.Copy
\'将doc文件的页面设置拷贝到当前节
sec.PageSetup = newDoc.PageSetup
\'将带格式的内容从剪贴板拷贝到当前文档
sec.Range.PasteAndFormat wdFormatOriginalFormatting
\'关闭doc文档
newDoc.Close
End Sub
相关文章
- 【VBA】将多个word文件合并到一个文件中
- 将多个图片合并到一个TIF文件里(非 GDAL) 优化版
- MyEclipse工具开发常用快捷键 普通: Ctrl+Shift+L 显示所有快捷键 Ctrl+K 参照选中的词(Word)快速定位到下一个 Ctrl+Shift+K 参照选中的词(Word)快速定位到上一个 Ctrl+O 快速显示OutLine Ctrl+T 快速显示当前类的继承结构 Ctrl+Shift+X 把选中文本全部改为大写 Ctrl+Shift+Y 把选中文本全部改为小写 Ctrl+Shift+F 按照当前的配置文件格式化源代码 Ctrl+L 弹出行定位框以便定位到某一行 Ctrl+Numpad_Divide Ctrl+/(小键盘) 使代码折叠可用 Ctrl+Numpad_Multify Ctrl+*(小键盘) 展开当前类中的所有代码 Ctrl+Shift+Numpad_Divide Ctrl+Shift+/(小键盘) 折叠所有,如果不能全部成功折叠,将光标移到文档最后试着或多按几次折叠当前类中的所有代码 Ctrl+1 快速修正,需要导包的时候出现导包提示界面, Ctrl+Q 定位到
- 如何将多个(npm)package.json文件合并到一个Gulp?
- python实现某目录下将多个文件夹内的文件复制到一个文件夹中
- 使用python将多个excel文件合并到同一个文件的方法
- vue 将多个过滤器封装到一个文件中的代码详解
- 如何将两个PDF文件合并到一个页面中
- 在c#中,将两个以上的xml文件合并到同一个模式中最有效的方法是什么?
- 在delphi中如何将一个word文件写到Oracle的Blob字段中?