当前位置: 首页 > 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.xdnf.cn/news/1350523.html

相关文章:

  • PYTHON让繁琐的工作自动化-列表
  • 构建现代高并发服务器:从内核机制到架构实践
  • Win11 下卸载 Oracle11g
  • 青少年机器人技术(五级)等级考试试卷(2020年9月)
  • 基于Python对酷狗音乐排行榜数据分析可视化【源码+LW+部署】
  • 【Win】Motrix+Aria2浏览器下载加速
  • 深入解析Spring Boot自动配置原理:简化开发的魔法引擎
  • 在 Spring Boot 中配置和使用多个数据源
  • C++之list类的代码及其逻辑详解 (中)
  • 构建真正自动化知识工作的AI代理
  • 随着威胁的加剧,地方政府难以保卫关键基础设施
  • Java项目:基于SpringBoot和Vue的图书个性化推荐系统(源码+数据库+文档)
  • 以太坊智能合约地址派生方式:EOA、CREATE 和 CREATE2
  • C语言宏用法
  • Python 地理空间分析:核心库与学习路线图
  • ESP32应用——UDP组播/广播(ESP-IDF框架)
  • HarmonyOS 递归实战:文件夹文件统计案例解析
  • 配置npm国内源(包含主流npm镜像源地址)
  • 北极圈边缘生态研究:从数据采集到分析的全流程解析
  • 在github上通过dmca数字版权申诉侵权并删除侵权仓库
  • 【84页PPT】智慧方案某著名企业某集团协同OA整体解决方案(附下载方式)
  • IntelliJ IDEA 集成 ApiFox 操作与注解规范指南
  • C++ + Boost + MySQL 项目完整教程
  • mysql的mvcc
  • 如何用Redis作为消息队列
  • Science Robotics 通过人机交互强化学习进行精确而灵巧的机器人操作
  • Flink框架:算子链的介绍
  • iview admin 使用mock.js模拟数据
  • 01_Python的in运算符判断列表等是否包含特定元素
  • C语言初学者笔记【动态内存管理】