読点・カンマを整えたいときに
日本語入力にしてキーを叩くと読点「、」が入力され、英語入力にしてキーを叩くとカンマ「,」が入力されます。
文を作成していると、読点を入力したいのにカンマを入力してしまったり、その逆があったり。
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
このマクロでは、まず、すべてのカンマを読点に変えます。その上で、読点の両側に英字・数字・ギリシャ文字があるときだけ、カンマに置き換えます。
