前回の「文書中の半角文字を数えて検索するマクロ」の改良版です。
<目次>
このマクロでできること
文書中の半角文字を数えた後、カーソル位置から次の半角文字を探します。
前回のマクロでは、文章中に半角文字があっても、カーソル位置以降に半角文字がなかった場合にプログラムが終了してしまうという不具合があります。
それを解消しました。とはいっても、常に、文書の先頭から半角文字を探すように変更しただけですが。
違いをご確認ください。
マクロの解説
ワイルドカードで半角文字を検索しています。.Text = "[ -~]{1,}"
メッセージを表示させる方法(MsgBox関数)は、メッセージボックスの目次 をご覧下さい。
マクロ
Sub 半角文字の検索2()
Dim myRange As Range
Dim myAnswer As String
Dim myCnt As Long
Dim myMessage As String
Dim myTitle As String
Set myRange = ActiveDocument.Range(0, 0)
With myRange.Find
.Text = "[ -~]{1,}"
.MatchWildcards = True
Do While .Execute = True
myCnt = myCnt + 1
Loop
If myCnt = 0 Then
MsgBox "見つかりませんでした。"
Exit Sub
Else
myRange.SetRange Start:=0, End:=0
myMessage = "合計で" & myCnt & "箇所あります。" & vbCr _
& "次を検索しますか?"
myTitle = "半角文字の検索"
Do While .Execute = True
myRange.Select
myAnswer = MsgBox(myMessage, vbYesNo, myTitle)
Select Case myAnswer
Case vbNo
Exit Do
Case vbYes
Selection.Collapse wdCollapseEnd
End Select
Loop
End If
End With
End Sub





