¥を含む文字列を全角化する

[vb]
Dim tmpS As String
tmpS = "\1000"
tmpS = Replace(tmpS, "\", "¥")
tmpS = StrConv(tmpS, vbWide)
MsgBox tmpS
[/vb]


VB 6.0やExcel VBAのStrConvは便利な命令であるが、
『¥』を含む文字列を全角に変換する際には注意が必要だ。
全角に変換する際に¥だけ無視されて半角のまま残ってしまう。
よって、¥を含む文字列を全角化する際には、
¥だけ別途Replace命令で置換してやる必要がある。

また、¥以外にも『”』と『’』の2文字に関しては、全角に変換すると
通常使用する文字とは違う『"』と『'』に変換されてしまうので、
これらも次のように別途置換をかけてやるのが望ましいだろう。

[vb]
Dim tmpS As String
tmpS = "a’"""
tmpS = Replace(tmpS, """", Chr(-32408))
tmpS = Replace(tmpS, "’", "’")
tmpS = StrConv(tmpS, vbWide)
MsgBox tmpS
[/vb]

みっちょ

SALON Doluce 代表。ハッカーでカウンセラー、占い師でカメラマン、その他あらゆる顔を持つ変な人。キッズプログラミング講師、パソコン修理、カウンセリングなど喜んで承ります。お気軽にお声掛けください!