読点・カンマを整えたいときに
日本語入力にしてキーを叩くと読点「、」が入力され、英語入力にしてキーを叩くとカンマ「,」が入力されます。
文を作成していると、読点を入力したいのにカンマを入力してしまったり、その逆があったり。
Sub カンマと読点() Dim R As String R = "([A-Za-zA-Za-zΑ-Ωα-ω0-90-9])" Dim cur As Range Set cur = Selection.Range Call 置き換える(",", "、") Call 置き換える(",", "、") Call 置き換える(R & "、" & R, "\1,\2") cur.Select Set cur = Nothing End Sub Sub 置き換える(ByRef 置換前 As String, ByRef 置換後 As String) With ActiveDocument.Range(0, 0).Find .ClearFormatting .Replacement.ClearFormatting .Text = 置換前 .Replacement.Text = 置換後 .Format = False .Forward = True .Wrap = wdFindContinue .MatchFuzzy = False .MatchWildcards = True .Execute Replace:=wdReplaceAll .Text = "" .Replacement.Text = "" End With End Sub
このマクロでは、まず、すべてのカンマを読点に変えます。その上で、読点の両側に英字・数字・ギリシャ文字があるときだけ、カンマに置き換えます。