+ -
当前位置:首页 → 问答吧 → [原创]文档中m2m3上标VBA高速设置

[原创]文档中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