ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1019|回复: 0

[原创] vba批量设置word自带公式中,分式大小不一致问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-6-23 05:46 | 显示全部楼层 |阅读模式
用过word自带公式编辑器的都知道,一旦需要输入分式时,如果不选择专业模式,那么分式大小与其他式子大小是不统一的。如何批量修改这一问题?在网上寻找很久也没找到办法,只能自己摸索,最后问题解决,特写此贴以表纪念,希望能帮助更多的人!
举例:大家看下面自带公式输入数学分式1/k,其中第一个是没有调整好的默认字体,显然大小与其他式子不一,此时可以选中它,将它添加删除线,删除线在word菜单中单击即可添加,样式如下:


如果word中你输入每个分式时,都是这样添加删除线之后,那么就可以如下vba代码批量设置分式字体,使得与其他式子大小统一了(注意代码原理是对添加了删除线的式子进行识别,然后设置它的所需字体,懂的人自然懂):
Sub 分式设置斜体15号()
Dim eqns As OMath
Dim objRange As Range
If Selection.Start = Selection.End Then
ActiveWindow.Selection.WholeStory
End If
For Each eqns In Selection.OMaths '选择公式对象
With eqns.Range
.Select
.Font.Italic = True
.Font.Size = 12
Set objRange = Selection.Range
For i = 1 ToobjRange.Characters.Count
'下面判断文字是否添加删除线
IfobjRange.Characters(i).Font.StrikeThrough = True Then
objRange.Characters(i).Select
Selection.Font.StrikeThrough = False
Selection.Font.Size = 15
Selection.Font.Color =wdColorBlack
'不要用下面这句,会失败
'objRange.Characters(i).Font.Size = 15
End If
Next i
End With
Next
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-28 01:50 , Processed in 0.025108 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表