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

Word批量更改公式字体为Times New Roman:一键将公式字母变斜体,数字保持正体!

还在为论文中几十个公式的字体格式烦恼吗这个VBA宏代码让你的排版效率提升100倍在撰写理工科论文时我们常常遇到一个令人头疼的问题论文要求公式中的英文字母必须为斜体数字保持正体并且全部使用Times New Roman字体。然而Word的公式编辑器并不允许单独设置公式中不同字符的字体格式手动将公式转为文本再一个个修改简直就是噩梦特别是当论文中有几十个甚至上百个公式时这项工作既繁琐又容易出错。今天我将分享一个高效的解决方案——Word VBA宏代码只需一键就能自动完成所有公式的字体格式化工作。下面这两个宏代码只处理公式框内的内容。Sub 调整全文公式新罗马10.5() 1. 设置公式字体为Times New Roman字号10.5 2. 设置英文字母为斜体 Dim oMath As oMath Dim oRange As Range, charRange As Range Dim oShape As InlineShape Dim i As Long, j As Long, k As Long Dim formulaCount As Long, numChanged As Long Dim result As VbMsgBoxResult Dim oEq As Object, eqText As String 统计公式数量 formulaCount ActiveDocument.OMaths.count 询问确认 result MsgBox(即将处理全文档所有公式。 vbCrLf _ 将执行以下操作 vbCrLf _ 1. 设置字体为 Times New Roman字号10.5 vbCrLf _ 2. 设置英文字母为斜体 vbCrLf _ 3. 设置所有数字为正体包括根号下、分式中等 vbCrLf vbCrLf _ 共找到 formulaCount 个公式对象。 vbCrLf _ 是否继续, vbYesNo vbQuestion, 确认) If result vbNo Then Exit Sub 禁用屏幕刷新以提高性能 Application.ScreenUpdating False 初始化计数器 numChanged 0 处理主文档中的公式对象 For Each oMath In ActiveDocument.OMaths 设置整个公式的基本字体 With oMath.Range.Font .name Times New Roman .Size 10.5 End With 使用递归方法处理公式中的所有字符 Call ProcessMathRange(oMath.Range, numChanged) Next oMath 处理内嵌公式Equation.3 旧版公式 For Each oShape In ActiveDocument.InlineShapes If oShape.Type wdInlineShapeEmbeddedOLEObject Then If oShape.OLEFormat.ClassType Equation.3 Then oShape.Select 设置公式基本字体 With Selection.OMaths(1).Range.Font .name Times New Roman .Size 10.5 End With 处理内嵌公式 Call ProcessMathRange(Selection.OMaths(1).Range, numChanged) End If End If Next oShape 恢复屏幕刷新 Application.ScreenUpdating True 显示完成消息 MsgBox 公式格式设置完成 vbCrLf _ 处理公式数量 formulaCount 个 vbCrLf _ 数字转为正体 numChanged 个, _ vbInformation, 批量处理完成 End Sub 递归处理公式范围的子过程 Private Sub ProcessMathRange(mathRange As Range, ByRef counter As Long) Dim i As Long Dim charRange As Range Dim charText As String 遍历范围内的每个字符 For i mathRange.Start To mathRange.End - 1 Set charRange ActiveDocument.Range(i, i 1) charText charRange.text 处理英文字母 If charText Like [A-Za-z] Then charRange.Font.Italic True 处理数字0-9 ElseIf charText 0 And charText 9 Then charRange.Font.Italic False counter counter 1 处理可能的小数点和负号 ElseIf charText . Or charText - Then 检查前后字符是否为数字 Dim prevChar As String, nextChar As String If i mathRange.Start Then prevChar ActiveDocument.Range(i - 1, i).text Else prevChar End If If i mathRange.End - 1 Then nextChar ActiveDocument.Range(i 1, i 2).text Else nextChar End If 如果前后是数字这个字符也应该是正体 If (IsNumeric(prevChar) Or prevChar ) And IsNumeric(nextChar) Then charRange.Font.Italic False End If End If Next i End Sub上面这个代码只是处理了英文字母但是数字没有调整下面这个代码可以将公式中的数字也变为新罗马字体。如何两个合在一起运行会卡顿并且处理速度较慢两个拆开之后运行速度贼快可以说几秒钟就可以处理完。Sub 调整公式内数字为新罗马() Dim oField As Field Dim oRange As Range Dim i As Long Dim sFormula As String Dim bInObject As Boolean Dim sChar As String 遍历文档中的所有域公式通常是EQ域或某些OLE对象 For Each oField In ActiveDocument.Fields If oField.Type wdFieldEmbed Then 如果是OLE对象如公式编辑器创建的公式 If oField.OLEFormat.ClassType Like *Equation* Then oField.OLEFormat.Object.Select 这里需要根据公式编辑器的具体版本调整 对于旧版Microsoft Equation 3.0 On Error Resume Next Selection.OMaths(1).Range.Select For i 1 To Selection.Characters.Count sChar Selection.Characters(i).Text If IsNumeric(sChar) And sChar Then With Selection.Characters(i).Font .Name Times New Roman .Size 10.5 End With End If Next i On Error GoTo 0 End If End If Next oField 处理内联公式使用Word内置公式编辑器创建的公式 Dim oOMath As OMath For Each oOMath In ActiveDocument.OMaths oOMath.Range.Select For i 1 To Selection.Characters.Count sChar Selection.Characters(i).Text If IsNumeric(sChar) And sChar Then With Selection.Characters(i).Font .Name Times New Roman .Size 10.5 End With End If Next i Next oOMath 处理通过插入-公式创建的公式 Dim oShape As Shape For Each oShape In ActiveDocument.Shapes If oShape.Type msoInlineShape Then If oShape.OLEFormat.ProgID Like *Equation* Then oShape.OLEFormat.Object.Select For i 1 To Selection.Characters.Count sChar Selection.Characters(i).Text If IsNumeric(sChar) And sChar Then With Selection.Characters(i).Font .Name Times New Roman .Size 10.5 End With End If Next i End If End If Next oShape MsgBox 公式数字格式设置完成, vbInformation End Sub总结这两个VBA宏代码为论文写作中的公式排版问题提供了一个高效、可靠的解决方案。原本需要数小时的手动工作现在只需几秒钟就能完成。更重要的是它确保了全文公式格式的统一性和准确性大大提高了论文的排版质量。无论你是本科生撰写毕业论文还是研究生整理学术论文这个工具都能为你节省大量时间让你更专注于论文内容本身而不是格式调整。如果你在使用过程中遇到任何问题或有改进建议欢迎在评论区留言讨论

相关文章:

Word批量更改公式字体为Times New Roman:一键将公式字母变斜体,数字保持正体!

还在为论文中几十个公式的字体格式烦恼吗?这个VBA宏代码让你的排版效率提升100倍! 在撰写理工科论文时,我们常常遇到一个令人头疼的问题:论文要求公式中的英文字母必须为斜体,数字保持正体,并且全部使用Tim…...

美国科罗拉多州尼沃特岭针叶叶绿素荧光,2017-2018年

Conifer Needle Chlorophyll Fluorescence, Niwot Ridge, Colorado, USA, 2017-2018 简介 本数据集提供了 2017 年和 2018 年夏季在美国科罗拉多州尼德兰附近的尼沃特岭 AmeriFlux 核心站点(US-NR1)对松树和云杉针叶组织进行的叶绿素荧光测量数据。采用…...

Python开发从入门到精通:Docker容器化部署

《Python开发从入门到精通》设计指南第二十八篇:Docker容器化部署一、学习目标与重点 💡 学习目标:掌握Python应用程序的Docker容器化部署方法,包括Dockerfile编写、镜像构建、容器管理、Docker Compose编排等;通过实战…...

基于springboot流浪宠物领养平台设计与开发(源码+精品论文+答辩PPT等资料)

博主介绍:CSDN毕设辅导第一人、靠谱第一人、全网粉丝50W,csdn特邀作者、博客专家、腾讯云社区合作讲师、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交…...

老王-一个人蠢到家的6种表现

一个人蠢到家的6种表现 ——心力耗尽,何谈上升?“当你的心力被消耗在这些事上, 你还想抓住机会? 门都没有。”⚠️ 真正的愚蠢, 不是无知, 而是—— 把能量浪费在不该纠缠的人和事上。🧠 1. 和傻…...

基于springboot拼车管理系统设计与开发(源码+精品论文+答辩PPT等资料)

博主介绍:CSDN毕设辅导第一人、靠谱第一人、全网粉丝50W,csdn特邀作者、博客专家、腾讯云社区合作讲师、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交…...

老王-人生八悟

人生八悟 ——开一层,上一层“真正的成长, 不是年岁增加, 而是—— 每破一执,便登一境。”🌿 八重觉悟,层层递进, 从认命,到修心, 从惜缘,到归己。&#x1f5…...

Xenon 1900扫码枪USB键盘模式配置全攻略(附C语言解析代码)

Xenon 1900扫码枪USB键盘模式配置与数据解析实战 在工业自动化、零售仓储等场景中,扫码枪作为高效的数据采集工具,其配置灵活性直接影响开发效率。Xenon 1900系列以其卓越的成像性能和可编程特性成为工程师首选,但如何正确配置USB键盘模式并解…...

5分钟搞定AI知识库:用Playwright爬取CSDN博客并喂给GPT(附完整配置)

5分钟构建智能知识库:PlaywrightCSDN数据采集实战指南 每次在技术社区搜索解决方案时,你是否也遇到过这样的困扰?收藏的优质文章散落在不同平台,需要时总得反复查找。今天我要分享的这套方案,能让你用开发者熟悉的工具…...

S.H.I.T期刊 - 学术垃圾收容所网站|S.H.I.T Journal官网入口

S.H.I.T期刊(全称Sciences Humanities Information Technology,又称《SHIT》《构石期刊》)是一个于2026年2月上线的虚构学术期刊平台,自称"学术垃圾收容所"。该网站以"真理会过时,构石永恒"为口号…...

知识图谱补全新思路:对比传统RL方法与SQUIRE序列建模的7倍效率提升

知识图谱补全的革命性突破:SQUIRE如何用序列建模碾压传统强化学习方法 知识图谱作为结构化知识的黄金标准,正在从搜索引擎优化扩展到金融风控、医疗诊断等关键领域。但一个长期困扰业界的难题是:当图谱中40%的关系缺失时,传统方法…...

别再死记硬背开关表了!手把手教你用MATLAB/Simulink从零搭建PMSM的DTC仿真模型

从零构建PMSM直接转矩控制仿真:MATLAB/Simulink实战指南 永磁同步电机(PMSM)直接转矩控制(DTC)技术因其动态响应快、鲁棒性强等特点,在电动汽车、工业伺服等领域广泛应用。但传统教学中复杂的开关表记忆和抽…...

KL25Z硬件级WS2812驱动:FTM+DMA实现纳秒精度LED控制

1. 项目概述Multi_WS2811 是一个面向 NXP Kinetis KL25Z 与 KL46Z 系列微控制器深度优化的 WS2811/WS2812/WS2812B LED 驱动库。它并非从零构建,而是基于 bikeNomad 原始 WS2811 库的工程化 fork,其核心价值在于将时序敏感的单线协议驱动从通用软件模拟&…...

毕业设计:基于SSM社区志愿者管理平台设计与实现(源码)

一、项目背景社区作为城市治理的基本单元,承载着居民日常生活的大部分场景,其治理水平直接关系到人民群众的获得感、幸福感和安全感。近年来,随着我国城市化进程的深入推进和基层治理体系的不断完善,社区志愿服务在促进邻里互助、…...

DeepSeek 在 PostgreSQL 中,**主键**和**唯一约束**是两种最重要的数据完整性约束

在 PostgreSQL 中,主键和唯一约束是两种最重要的数据完整性约束。它们都能保证数据的唯一性,但用途和行为有所不同。下面详细讲解如何在 PostgreSQL 表中添加这些约束。 一、约束的概念 约束类型关键字作用是否创建索引允许 NULL主键PRIMARY KEY唯一标识…...

C++编程进阶:探索抽象类与纯虚函数的奥秘

C编程进阶:探索抽象类与纯虚函数的奥秘 在C编程的广阔天地中,面向对象编程(OOP)作为其核心特性之一,为开发者提供了强大的工具来构建复杂而灵活的软件系统。其中,抽象类和纯虚函数是OOP中两个至关重要的概…...

零宽度字符实战:纯文本数字水印的隐蔽嵌入与提取方法

1. 零宽度字符:看不见的信息搬运工 你有没有遇到过这样的情况:明明两段文字看起来一模一样,但复制到不同地方时却显示不同的结果?这很可能就是零宽度字符在暗中作祟。这些特殊的Unicode字符就像文字世界的"隐形墨水"&am…...

【硬核解析】千问请喝奶茶口令中奇怪但能看懂的字是怎么打出来的

不知道大家有没有发现,这几天千问通义的分享文案悄悄改了,仔细看每个字都多了“一点”,并且这个点并无法单独选中。 注意每个字的上、下方有额外的点 原理探究 把这个字转为Unicode看看,发现这是两个字符,这个点的uni…...

SCI论文投稿全流程解析:从注册到成功提交

1. 投稿前的准备工作 第一次投稿SCI论文就像第一次开车上路,既兴奋又紧张。记得我投第一篇论文时,光是准备阶段就花了整整两周时间,反复检查各种细节。现在回头看,其实只要做好这几个关键准备,就能事半功倍。 选刊是门…...

Gemini 3技术拆解:原生多模态与1M上下文背后的架构创新

在主流大模型中,Gemini 3凭借原生多模态能力和超长上下文窗口独树一帜。目前国内用户可通过聚合平台RskAi(www.rsk.cn)免费体验Gemini 3的全部功能,无需特殊网络环境,实测响应速度稳定在1秒左右。本文将从技术角度深入…...

Java内部类全解析:从入门到精通,拿捏所有细节!❶

🍏家人们谁懂啊!Java里的内部类简直是「隐藏神技」,用得好直接让代码优雅到起飞,面试还能直接拿捏面试官!今天咱们就把内部类扒得明明白白,从概念到实战,小白也能秒懂,老鸟也能查漏补…...

VS2019+QT5.12.10+PCL1.11.1环境配置避坑指南:从安装到第一个点云窗口显示

VS2019QT5.12.10PCL1.11.1环境配置全流程与点云可视化实战 在三维视觉和机器人感知领域,点云处理技术正成为不可或缺的核心能力。本文将手把手带你完成从零搭建开发环境到实现第一个点云可视化Demo的全过程,特别针对Windows平台下VS2019与QT5.12.10、PCL…...

科哥GPEN镜像:修复模糊人像照片,效果实测案例分享

科哥GPEN镜像:修复模糊人像照片,效果实测案例分享 1. 引言:从模糊到高清的魔法 你是否遇到过这样的情况:翻看老照片时,发现那些珍贵的记忆因为画面模糊而变得难以辨认?或者手机拍摄的人像照片因为光线不足…...

(三)Python基础入门-流程控制结构

(三)Python基础入门-流程控制结构 概览 条件语句(if/elif/else嵌套)循环结构(while/for循环)循环控制(break/continue/pass)实战:猜数字游戏/乘法表生成 流程控制是编程的…...

OptiStruct非线性分析避坑指南:从MATS1设置到高温蠕变模拟

OptiStruct非线性分析实战:从材料模型到高温蠕变仿真 在工程仿真领域,非线性分析正成为解决复杂问题的关键工具。当结构面临塑性变形、大位移或温度变化时,线性假设往往失效,此时OptiStruct提供的非线性分析能力显得尤为重要。本文…...

LaTeX小白必看:用\ctexset定制你的章节标题样式(article类实战)

LaTeX排版艺术:用\ctexset打造专业级章节标题样式 第一次接触LaTeX时,我被它那默认的章节标题样式深深困扰——呆板的字体、单调的编号、不合理的间距,让我的学术论文看起来毫无个性。直到发现了\ctexset这个神奇的命令,我的文档才…...

【实战】FastAPI 服务器部署中接口访问失败的排查与解决

1. 为什么你的FastAPI接口在服务器上无法访问? 最近帮朋友排查一个FastAPI部署问题,他的接口在本地测试一切正常,但部署到云服务器后就死活访问不了。这其实是很多新手都会踩的坑,我自己刚用FastAPI时也遇到过类似问题。今天我们就…...

StructBERT中文相似度模型部署案例:RTX 4090上10分钟完成语义匹配环境搭建

StructBERT中文相似度模型部署案例:RTX 4090上10分钟完成语义匹配环境搭建 你是不是也遇到过这样的问题?面对海量的中文文本,想要快速找出意思相近的句子,却不知道从何下手。手动比对?效率太低。用简单的关键词匹配&a…...

从零构建Rocky Linux 9.4全能工作站:虚拟机部署与全栈软件生态搭建指南

1. 虚拟机环境搭建与系统安装 Rocky Linux作为RHEL的完美替代品,越来越受到开发者和运维人员的青睐。我最近在虚拟机上完整部署了9.4版本,实测下来稳定性完全不输CentOS。下面分享我的详细操作记录,帮你避开我踩过的那些坑。 1.1 虚拟机软件选…...

C#异步编程实战:用Task.WhenAll和CancellationTokenSource打造一个高并发、可取消的批量文件下载器

C#异步编程实战:构建高并发可取消的批量文件下载器 在当今互联网应用中,处理大量文件下载是常见需求。无论是电商平台的商品图片抓取、企业文档管理系统,还是数据备份工具,都需要高效可靠的批量下载能力。传统同步下载方式不仅速度…...