[原创]文档中m2m3上标VBA高速设置
时间:2008-10-23
来源:互联网
这是强大的konggs版主给我的代码:
Sub m23()
Dim myRange As Range
ActiveDocument.Content.Select
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Application.ScreenUpdating = False
With Selection.Find
.Text = "[mM][23]"
.MatchWildcards = True
Do While .Execute
Set myRange = Selection.Range
myRange.SetRange myRange.Start + 1, myRange.End
myRange.Font.Superscript = True
Loop
End With
With Selection.Find
.Text = ""
.MatchWildcards = False
End With
Application.ScreenUpdating = True
Selection.HomeKey Unit:=wdStory
End Sub
这种方法很好,很简洁,但我在大型文档中运行时速度较慢,就是说有大量的m2 m3要设置时要较长时间
我用另一种方法,代码比较“土”,但速度明显加快:
Sub m23q()
'-----------------m2--------------------
With ActiveDocument.Content.Find
.ClearFormatting
.Format = False
.Replacement.ClearFormatting
.Replacement.Font.Superscript = False
.Execute Forward:=True, Replace:=wdReplaceAll, _
FindText:="m2", ReplaceWith:="mm2"
End With
With ActiveDocument.Content.Find
.ClearFormatting
.Format = True
.Replacement.ClearFormatting
.Replacement.Font.Superscript = True
.Execute Forward:=True, Replace:=wdReplaceAll, _
FindText:="m2", ReplaceWith:="2"
End With
'----------------------m3-----------------------
With ActiveDocument.Content.Find
.ClearFormatting
.Format = False
.Replacement.ClearFormatting
.Replacement.Font.Superscript = False
.Execute Forward:=True, Replace:=wdReplaceAll, _
FindText:="m3", ReplaceWith:="mm3"
End With
With ActiveDocument.Content.Find
.ClearFormatting
.Format = True
.Replacement.ClearFormatting
.Replacement.Font.Superscript = True
.Execute Forward:=True, Replace:=wdReplaceAll, _
FindText:="m3", ReplaceWith:="3"
End With
End Sub
作者: stiger 发布时间: 2008-10-23
希望楼主更正,我太需要这个了。
作者: pblcxaigysse 发布时间: 2011-08-04
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28