当前位置: 首页 > news >正文

一个适用于 Word(Mac/Win 通用) 的 VBA 宏:把所有“上角标格式的 0‑9”以及 “Unicode 上角标数字 ⁰‑⁹” 批量删除。

一个适用于 Word(Mac/Win 通用) 的 VBA 宏:把所有“上角标格式的 0‑9”以及 “Unicode 上角标数字 ⁰‑⁹” 批量删除。

'========================================
' StripSupDigitsInWord.bas
' 删除 Word 文档中的所有上角标数字
'   1) 字体属性为 Superscript 的 0-9
'   2) Unicode 上角标数字 ⁰¹²³⁴⁵⁶⁷⁸⁹
'========================================
Option ExplicitSub StripSupDigitsInWord()Dim sr As RangeApplication.ScreenUpdating = False' 遍历正文、页眉页脚、脚注等所有 StoryRangesFor Each sr In ActiveDocument.StoryRangesCall RemoveSupDigitsInRange(sr)Do While Not (sr.NextStoryRange Is Nothing)Set sr = sr.NextStoryRangeCall RemoveSupDigitsInRange(sr)LoopNext srApplication.ScreenUpdating = True
End SubPrivate Sub RemoveSupDigitsInRange(ByVal rng As Range)Dim f As FindDim codes As VariantDim i As Long'——① 删掉“格式为上角标”的普通数字 0-9 ——'Set f = rng.Duplicate.FindWith f.ClearFormatting.Replacement.ClearFormatting.Text = "[0-9]"          ' 匹配任意数字.Replacement.Text = "".Forward = True.Wrap = wdFindStop.Format = True.Font.Superscript = True ' 仅找上角标.MatchWildcards = TrueEnd WithDo While f.Executef.Parent.Delete                ' 删除命中的字符rng.Collapse wdCollapseStart   ' 收缩到起点继续Set f = rng.Duplicate.Find     ' 重新绑定范围With f.Text = "[0-9]".Replacement.Text = "".Format = True.Font.Superscript = True.MatchWildcards = TrueEnd WithLoop'——② 删掉 Unicode 上角标数字 ——'codes = Array(&H2070, &HB9, &HB2, &HB3, _&H2074, &H2075, &H2076, &H2077, &H2078, &H2079)For i = LBound(codes) To UBound(codes)With rng.Find.ClearFormatting.Replacement.ClearFormatting.Text = ChrW(codes(i)).Replacement.Text = "".Forward = True.Wrap = wdFindStop.Format = False.MatchWildcards = False.Execute Replace:=wdReplaceAllEnd WithNext i
End Sub

使用步骤

  1. Word 打开文档 → 工具/开发工具 ▸ Visual Basic (⌥F11)

  2. 插入 ▸ 模块,粘贴上述代码。

  3. 关闭 VBE,回到 Word:开发工具 ▸ 宏,运行 StripSupDigitsInWord

  4. 建议先备份文档;如果开启了“修订”,可先关闭或接受更改以提升速度。

想只处理选定文本,把 StripSupDigitsInWord 里遍历 StoryRanges 的部分改成:
Call RemoveSupDigitsInRange(Selection.Range) 即可。

http://www.dtcms.com/a/346542.html

相关文章:

  • 前端安全之XSS和CSRF
  • Mac相册重复照片终结指南:技术流清理方案
  • Bartender 5 Mac 多功能菜单栏管理
  • Android Studio下载gradle文件很慢的捷径之路
  • MySQL深分页的处理方案
  • Java项目:基于SpringBoot和Vue的图书个性化推荐系统(源码+数据库+文档)
  • 小米集团总裁卢伟冰:小米汽车不会参与任何价格战,下半年有望开始盈利
  • WSL Ubuntu数据迁移
  • 把 AI 塞进「电梯按钮」——基于毫米波手势识别的零接触控制面板
  • 网站速度慢?安全防护弱?EdgeOne免费套餐一次性解决两大痛点
  • C语言文件操作精讲:从格式化读写到随机访问
  • 控制建模matlab练习16:线性状态反馈控制器-⑤轨迹追踪
  • 后台管理系统-15-vue3之登录页的实现
  • 谷歌浏览器重定向url,谷歌浏览器浏览网页修改url到本地
  • 批量归一化:不将参数上传到中心服务器,那服务器怎么进行聚合?
  • 基于JSqlParser的SQL语句分析与处理
  • ASCOMP PDF Conversa:高效精准的PDF转换工具
  • 【机器学习深度学习】多模态学习
  • 终结系统裸奔:Debian老旧版本安全加固终极指南
  • 李宏毅NLP-12-语音分类
  • 达梦数据库巡检常用SQL(三)
  • 全国网络安全知识竞赛有哪些
  • androidstudio 无法启动
  • Linux问答题:调优系统性能
  • 20250823给荣品RD-RK3588开发板刷Rockchip原厂的Android14【EVB7的V10】时调通AP6275P的WIFI
  • 卓伊凡的开源战略与PHP-SG16加密技术深度解析-sg加密技术详解-卓伊凡
  • 32位内部数据通路是什么?
  • mmdetection:记录算法训练配置文件
  • 【Linux系统】进程信号:信号的处理
  • TypeReference 泛型的使用场景及具体使用流程