这一期也是毕业论文格式修改。我自己尝试了很多次,希望能够帮助大家,同时自己也记录一下方法,方便下次再查阅。
一、问题描述:
毕业论文在进行上传查重时,很多学校往往要求把论文的封面、论文的任务书、论文的作者声明,以及论文的总稿内容一起按照顺序合并在一起,然后进行查重。据我在网上了解,查重一般建议用docx形式,而并非pdf。
简单的pdf合并的话,那还是非常好解决的。如果是word合并的话,可能会出现一些格式上改变,不兼容的现象。那么将pdf合并,再转成word岂不是解决了。然后并非如此,我试过了,网上很多pdf转word的工具都不好用,最终转出来的word格式大相径庭。所以最好的方式就是word的直接合并。下面让我分享下我的方法。
二、解决方案
目前网上搜索的到方法,最多的便是:打开word,菜单栏上 插入>对象>文件中的文字
但其实此方法只能将文本合并在一起,格式并不能,这个方法不适用。
那么我们直接快进到第二种方法。第二种方法是一个今天我在网上找到的(绝非打广告),而且我也没有注意到收不收费,只记得我用了一次,也成功合并并且可以下载。至少可以白嫖一次吧,咱也就需要一次就够了。总比一些第一次收费的好用。
直接搜moyuya.com ,用过一次,95%的格式是正确的,只有少部分,比如任务书那个格式字体变了,目录颜色变了,多了横线。不过整体上还是不错的,格式错误比较少,自己调整调整问题不大。如果不放心的话,自己在从头到尾检查一遍喽。
赶快去试试吧,我就用过一次就成功了,也不知道是不是用多了也需要收费,可得注意珍惜免费机会哦。
虽然通过第二种方法就可以解决了,但是今天我还想教大家一种,我也是第一次见word还能这样操作,虽然这招不一定能够全部帮你解决word合并格式,但是给你为你以后合并很多文档,或者是word其它操作提供一个学习参考。
新操作:使用 VBA宏合并多个Word文档
1. 准备工作:
启用开发者选项,打开Word,点击 文件 > 选项 > 自定义功能区,右侧勾选 开发者,点击确定
2. 创建并运行VBA宏:
打开VBA编辑器:按快捷键
Alt + F11
进入VBA编辑器界面,注:部分笔记本电脑需要Alt + Fn + F11.
是不是很神奇,原来word也有这么神奇的操作,我也是第一次知道。
下一步点击如图所示:可以在Normal处插入模块,也可以在Project中插入(这个是你的当前word文档),因为它引用了Normal,所以在哪儿插入都可以。这个模块便是我们的相关执行代码。
插入代码示例如下;
Sub MergeDocumentsWithHeaderLine()
Dim mainDoc As Document
Dim fileDialog As fileDialog
Dim selectedFile As Variant
Dim fileCount As Integer
Dim i As Integer
Dim rng As Range
Dim sourceDoc As Document
Dim sec As Section
' 强制新建空白文档(避免样式污染)
Set mainDoc = Documents.Add
Application.Activate
' 打开文件选择对话框
Set fileDialog = Application.fileDialog(msoFileDialogFilePicker)
With fileDialog
.Title = "选择要合并的Word文档(按住Ctrl多选)"
.Filters.Clear
.Filters.Add "Word文档", "*.docx; *.doc"
.AllowMultiSelect = True
If .Show = -1 Then
fileCount = .SelectedItems.Count
For i = 1 To fileCount
selectedFile = .SelectedItems(i)
' 以隐藏模式打开源文档
Set sourceDoc = Documents.Open(FileName:=selectedFile, Visible:=False, NoEncodingDialog:=True)
' 定位到主文档末尾
Set rng = mainDoc.Content
rng.Collapse Direction:=wdCollapseEnd
' 插入分节符(从第二个文件开始)
If i > 1 Then
rng.InsertBreak Type:=wdSectionBreakNextPage
Set rng = mainDoc.Content
rng.Collapse Direction:=wdCollapseEnd
End If
' 复制源文档内容(保留所有格式)
sourceDoc.Content.Copy
rng.PasteAndFormat wdFormatOriginalFormatting
' 强制关闭源文档
sourceDoc.Close SaveChanges:=wdDoNotSaveChanges
Next i
' 遍历所有节,修复页眉横线
For Each sec In mainDoc.Sections
With sec.Headers(wdHeaderFooterPrimary)
.LinkToPrevious = False ' 断开链接
' 强制添加页眉横线(如果原文档有)
If .Range.Paragraphs.Count > 0 Then
With .Range.Paragraphs(1).Borders(wdBorderBottom)
.LineStyle = wdLineStyleSingle ' 单线样式
.LineWidth = wdLineWidth050pt ' 线宽
.Color = wdColorAutomatic ' 自动颜色(通常黑色)
End With
End If
End With
Next sec
Else
MsgBox "未选择文件。", vbExclamation
Exit Sub
End If
End With
MsgBox "合并完成!页眉横线已修复。", vbInformation
End Sub
以上代码仅供参考,如果你想实现不同的功能,可以尝试用deepseek或者其他AI软件根据自己的需求来写。比如上述的代码基本的功能,就是通过加入分节符进行合并,加入分节符的目的就是保持每个word的格式彼此间不受影响。但具体合并效果取决于你的需求代码。
返回Word界面,按
Alt + F8
打开宏列表 ,同理笔记本电脑可以Alt + Fn + F8
选择
MergeWordDocuments
,点击 运行。弹出对话框后,按住
Ctrl
选择多个Word文件(按合并顺序选择),点击 打开。
按上述操作后,上述代码就相当于脚本,你只需要选定你要合并的word文档,它便会自动将其合并。注:为了合并顺序不乱,选择文件时,最好按顺序选择,或者提前将要合并的文件按01,02...这种序号进行编码。
3. 操作实例
本次要合并的word文档如下图所示:分别是毕业论文封面,毕业论文设计任务书,毕业论文作者声明,毕业论文正文。合并到文档1中。
按照上述 :
返回Word界面,按
Alt + F8
打开宏列表 ,同理笔记本电脑可以Alt + Fn + F8
选择
MergeWordDocuments
,点击 运行。弹出对话框后,按住
Ctrl
选择多个Word文件(按合并顺序选择),点击 打开。
后续使用我上述提供的代码的话,大部分格式问题都是按照原格式进行合并的。但是也不一定完全正确,后续还是根据个人需求修改上述VBA代码。本人提供的代码仅供参考,它能解决合并后页眉没有横线问题,但会导致原本不需要页眉横线的地方有横线,但相较之,前面内容属于少数,可以自己稍加修改即可。
如上图所示,格式合并几乎一致。但由于我的代码想要保持页眉有横线,导致前几页页眉上也出现了横线。由于页数不多,可自行删除,本文另附页眉横线删除方式。
4. 页眉横线删除方式:
双击页眉,切换到菜单栏中的开始选项,在格式处选择清除格式即可删除。
后续便删除成功,非常方便,由于上述提供的代码中在每一个合并的word后都增加了分页符,所以每个文档都保持自己的格式,不必担心,这个的页眉横线删除后,会导致正文的页眉横线也被删除。后续,只需要依次对不需要横线的地方删除即可。
三、总结
本文介绍了三种方式进行多个word文档合并,其中第一个方式仅能是字面上的合并,无法保证格式一致;第二种方式直接借用强大工具,一键搞定,但是可能免费机会不多;第三种方式由于使用到VBA宏,方法新奇,值得尝试学习,类似于自动化脚本处理,可以方便一键处理多个word合并,缺点在于实现功能取决于你的代码功能(但是还好有AI,这个需要自己用AI探索代码了)。上述提供的方式,希望对大家有用。本人的第二次记录,到此为止。