このサイトでよく使う定番マクロを紹介します!
マクロをコピペして上手く動作しない場合、確認ください。
- 置換ボックス初期化
- chikann
- sakuzyo
この3つを、同じモジュールにコピペしてください。
他のマクロを実行するときに、よく召喚、つまり呼び出される召喚マクロです!
置換ボックス初期化マクロ
Private Sub 置換ボックス初期化()
‘
‘ プライベート (Private) 変数は、宣言されたモジュール内でのみ参照できます。
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = “”
.Replacement.Text = “”
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
End Sub
Chikannマクロ
Private Sub Chikann(myRange As Range, myOldTxt As String, myNewTxt As String, Optional myWild As Boolean = False)
‘ プライベート (Private) 変数は、宣言されたモジュール内でのみ参照できます。
With myRange.Find
.ClearFormatting
.Text = myOldTxt ‘2番目の引数
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = myWild ‘4番目の引数[省くとFalse]
With .Replacement
.ClearFormatting
.Text = myNewTxt ‘3番目の引数
End With
.Execute Replace:=wdReplaceAll
End With
End Sub
Sakuzyo マクロ
Private Sub Sakuzyo(myRange As Range, myOldTxt As String, Optional myWild As Boolean = False)
‘ プライベート (Private) 変数は、宣言されたモジュール内でのみ参照できます。
With myRange.Find
.ClearFormatting
.Text = myOldTxt ‘2番目の引数
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = myWild ‘4番目の引数[省くとFalse]
With .Replacement
.ClearFormatting
.Text = “”
End With
.Execute Replace:=wdReplaceAll
End With
End Sub
実際に使うと
たとえば、sakuzyo マクロを使って、以下のようなマクロが作れます。
このマクロでは、選択した範囲から (英数字) を削除します。
具体的には、ワイルドカードを使って、([0-9a-zA-Z~、,]{1,})
にヒットするものを削除します。
Sub かっこ数字の削除()
Dim myRange As Range
On Error GoTo ErrorHandler
置換ボックス初期化
With Selection
If .Type = wdSelectionNormal Then
Set myRange = .Range
Else
MsgBox “テキストを選択して下さい”
Exit Sub
End If
End With
Options.DefaultHighlightColorIndex = wdNoHighlight
Sakuzyo myRange, “([0-9a-zA-Z~、,]{1,})”, True
Exit Sub
ErrorHandler:
MsgBox “エラーが発生したので終了します。”
End
End Sub
このマクロの実行するとどうなるか、見てみましょう!

上のように、(数字)がある文章に対してテキストを選択せずにマクロを実行すると、
↓のようになります。
そう、テキストを選択しろ!、と表示されます。
選択したテキストがないと実行されません。
次に、全文を選択した状態で、マクロを実行します。
すると、↑のように(数字)が削除されました!
と、いろいろな使い方がありますので、また紹介します!




