网友作品 #000004 · 提交于 2026/08/04
Word 公文格式整理工具箱:一键批量规范排版
★★★★★业余水平wordvba



1 / 3
作品简介
这是一套面向公文处理的 Word VBA 加载项(.dotm),Word 2013 及以上版本可用,兼容 Win7,并针对低配老电脑做了性能与防卡死设计。功能区提供“一键全部处理”和多个单项按钮,每个功能还对应可在 Alt+F8 宏列表中单独运行的独立宏;既可整篇整理,也能只处理选中段落。
核心亮点
- 一键/分项双模式:一键依次执行全部 6 项,也可按正文字体、表格字体、段前段后、行距与缩进、数字字体、数字千分位分项处理
- 公文规范默认值:正文仿宋_GB2312、三号(16 磅)加粗,行距固定 27 磅、首行缩进 2 字符并删除段首空格,数字/字母/%/&/千分位逗号用 Times New Roman
- 选区模式:选中内容再点按钮只处理选中部分(自动扩展为完整段落),光标态则处理全文
- 标题保护:标题样式段落及“正文样式+黑体”的公文小标题不被正文格式覆盖,保护字体可自定义
- 千分位智能排除:自动跳过年份(如 2026年)、11 位以上长号码、字母数字混排、日期格式、已有千分位及不足最低位数的数字,不误加逗号
- 参数可视化设置:字体、字号、间距、缩进、千分位位数、保护字体等 11 项参数按编号逐项修改,输入 R 一键恢复默认,非法输入被拒绝
- 参数自动保存:修改立即生效并存入注册表(仅当前用户,无需管理员权限),所有功能共用
技术与工具
- 开发平台:Word VBA 加载项(.dotm),Ribbon 功能区定制
- 兼容性:Word 2013 及以上、Win7 系统,针对低配电脑做防卡死优化
- 参数存储:注册表 HKCU,仅当前用户生效
开发过程
作者从真实公文排版需求出发,先把要求逐条列成清单:非表格非标题正文用仿宋_GB2312 三号加粗、段前段后为 0、行距固定 27 磅、首行缩进 2 字符、数字用 Times New Roman、按排除规则添加千分位等,并要求做成“工具箱+独立宏”双形态、保证运行效率避免 Word 卡死。作者反馈,借助 AI 编码 Skill,从提出需求到成品只需清晰描述需求、复制粘贴代码即可,无需反复调试。
适用场景
- 党政机关、企事业单位公文起草:快速统一字体、行距、缩进等公文格式,减少人工排版
- 文档审核与归档:批量完成大量 Word 文档的格式标准化调整
原始提交内容(点开查看,可复制全文去问 AI)
Word 2013 及以上版本可用的 VBA 加载项(dotm),一键/分项完成公文格式批量整理。 兼容 Win7,针对低配老电脑做了性能与防卡死设计。
功能清单(与需求对应)
| 需求 | 功能 | Ribbon 按钮 | 独立宏(Alt+F8 可单独运行) |
|---|---|---|---|
| 一键执行 | 依次执行全部 6 项 | 一键全部处理 | RunFullFormatPipeline |
| 1 | 非表格非标题正文:仿宋_GB2312、三号(16磅)、加粗 | 正文字体 | FormatBodyTextFont |
| 新增 | 表格文字:只改中文字体、保留原字号 | 表格字体 | FormatTableTextFont |
| 2 | 非表格段落:段前、段后为 0(可改) | 段前段后 | FormatBodySpacing |
| 3 | 非表格段落:行距固定 27 磅、首行缩进 2 字符、删除段首空格 | 行距与缩进 | FormatBodyLineAndIndent |
| 4 | 数字/字母/%/&/千分位逗号:Times New Roman | 数字字体 | FormatNumberFont |
| 5 | 数字千分位符(全文含表格) | 数字千分位 | AddThousandSeparator |
| 新增 | 工具箱公用参数修改 | 参数设置 | ShowFormatSettings |
选区模式(新增)
选中一部分内容再点按钮,只处理选中部分;不选中(光标态)则处理全文。 一键处理和每个单项按钮都支持。选区自动扩展为完整段落(段落格式只能整段生效)。
标题保护
- 标题样式段落(标题1-9/Title/自定义大纲级别样式):不被“正文字体”覆盖
- 正文样式+黑体的段落(公文小标题惯例):视为标题保护,正文字体、段前段后、 行距、首行缩进一律不动它。保护字体可在参数设置中修改(默认黑体)
千分位排除规则(自动跳过,不加逗号)
- 数字紧跟“年”:如
2026年 - 超过最高位数的连续数字(默认 11 位及以上):如手机号
13800138000、身份证号 - 字母紧邻数字(四位及以上):如
ABC1234 - 数字(四位及以上)紧邻字母:如
1234AB、2026A1234 - 日期格式(四位-两位-两位):如
2026-07-30 - 已有千分位的数字:如
1,234,567不重复添加 - 整数部分不足最低位数(默认 4 位):如
123元(小数部分永不加分节号)
参数设置(工具箱公用,可自由修改)
点 Ribbon“参数设置”按钮(或 Alt+F8 运行 ShowFormatSettings),按提示输入编号逐项修改:
| 编号 | 参数 | 默认值 |
|---|---|---|
| 1 | 正文中文字体 | 仿宋_GB2312 |
| 2 | 正文字号(磅) | 16(三号) |
| 3 | 正文加粗 | 是 |
| 4 | 数字/字母/符号字体 | Times New Roman |
| 5 | 段前间距(磅) | 0 |
| 6 | 段后间距(磅) | 0 |
| 7 | 固定行距(磅) | 27 |
| 8 | 首行缩进(字符) | 2 |
| 9 | 千分位最低位数 | 4 |
| 10 | 千分位最高位数 | 10 |
| 11 | 标题保护字体 | 黑体 |
- 修改后立即生效并自动保存(注册表 HKCU,仅当前用户,无需管理员权限),所有功能共用
- 输入
R恢复全部默认值;非法输入会被拒绝并提示,不会写入 - 输入 0 或留空退出