用wps文字要批量改全文字体字号,最稳的办法是先备份文档,再用宏统一处理正文区域。操作顺序很简单:先另存副本 → 调出开发工具 → 进wps宏编辑器 → 粘贴改字体字号的宏代码 → 先拿小范围内容测试 → 最后再跑整篇文档。
先在副本里确认要处理的正文范围
打开要处理的文档,先另存一份副本,绝对别直接在原文件上跑宏。接着把段落标记调出来,扫一遍正文里的表格、页眉页脚、批注、目录这些特殊区域。宏本身最适合处理普通正文段落,要是你想保留合同编号、封面标题、目录的原有格式,先提前划好要改的范围,后面改代码才不会一口气把不该动的内容全改乱。

打开开发工具里的宏入口
切到WPS文字顶部的功能栏,找到「开发工具」标签,点「查看代码」就能进到宏编辑器。要是顶部没看到开发工具,先去设置选项里把开发工具的显示开关勾上。这一步先确认入口能正常点开,别等代码都写完了,才发现自己当前的WPS版本没开宏功能。

在宏编辑器中新建模块
进到WPS宏编辑器后,在左侧项目面板选中当前测试文档,新建一个模块。别直接把宏写到全局Normal模板里,不然以后打开别的文档不小心就会误运行这段代码,很容易出问题。等右侧代码区显示空白编辑框,就可以准备粘贴代码了。

粘贴批量修改字体和字号的代码
把下面这段宏代码粘贴到模块里,它会自动遍历所有正文段落,把字体统一改成宋体、字号改成四号,还会自动跳过空段落。你可以直接把代码里的宋体和14改成你需要的字体和字号磅值;四号字在VBA里通常对应14磅,小四对应12磅,别填错数值。
{"answer":"协助 macOS 用户准备、转换、导出及排查 Word、PDF、Markdown、PowerPoint 和 Excel 文件,确保 WPS Office 工作流程可靠。"}
Sub ChangeBodyFontAndSize()
Dim p As Paragraph
For Each p In ActiveDocument.StoryRanges(wdMainTextStory).Paragraphs
If Len(Trim(Replace(p.Range.Text, Chr(13), ""))) > 0 Then
With p.Range.Font
.NameFarEast = "宋体"
.NameAscii = "Times New Roman"
.Size = 14
End With
End If
Next p
End Sub
要是你只想改当前选中的部分内容,不需要遍历全文档,直接把代码里的ActiveDocument.StoryRanges(wdMainTextStory)换成Selection.Range就行,这样更安全。第一次运行之前,先复制两三段测试文字到空白文档里跑一遍,确认改完的字体字号符合预期再用在正式文件上。

运行后抽查开头中间和末尾
宏跑完先别急着直接覆盖保存。切回文档正文,抽查开头、中间、末尾三个位置,重点看所有正文是不是都改成了你要的字体字号,标题、表格、页眉页脚这些不该动的地方有没有被误改。要是发现改的范围不对,直接关掉当前副本不保存,回去调整宏的作用范围再重新运行就行。

确认所有正文格式都统一了,再保存副本。正式文件一定要留一份处理前的原版本,尤其是带目录、批注、页眉页脚的长文档。宏虽然能省掉大量重复调格式的功夫,但最怕作用范围没设对,先小范围测试,远比出问题之后再返工改要省时间。

















