昔は半角カタカナは文字化けするなど不具合の原因になると言われていたので私は半角カタカナを使いません。しかし使う人はいます。Wordでも使う人がいます。格好が悪いです。
Wordには半角を全角に変換する機能がありますが英数字も変換してしまいます。
半角カタカナだけを全角に変換するマクロを作ってみました。
Sub 半角カタカナを全角カタカナに変換()
'20190227 作成
'20190312 修正
'全角カタカナ(ァ...ヶ)
For c = -31936 To -31850
zen = Chr(c)
han = StrConv(zen, vbNarrow)
Call 置換(han, zen)
Next c
'ー→ー(長音)
han = "ー"
zen = "ー"
Call 置換(han, zen)
End Sub
Function 置換(oldValue, newValue)
'20190227 作成
Set myRange = ActiveDocument.Range(Start:=0, End:=0)
With myRange.Find
.ClearFormatting
.Text = oldValue
With .Replacement
.ClearFormatting
.Text = newValue
End With
.Execute Replace:=wdReplaceAll
End With
End Function
'20190227 作成
'20190312 修正
'全角カタカナ(ァ...ヶ)
For c = -31936 To -31850
zen = Chr(c)
han = StrConv(zen, vbNarrow)
Call 置換(han, zen)
Next c
'ー→ー(長音)
han = "ー"
zen = "ー"
Call 置換(han, zen)
End Sub
Function 置換(oldValue, newValue)
'20190227 作成
Set myRange = ActiveDocument.Range(Start:=0, End:=0)
With myRange.Find
.ClearFormatting
.Text = oldValue
With .Replacement
.ClearFormatting
.Text = newValue
End With
.Execute Replace:=wdReplaceAll
End With
End Function
コメント
[…] 前にWordでカタカナを半角から全角に変換するマクロを紹介しましたが、今回はExcel版を作りました。 […]