String.StrConv(str, wbWide)
これに疑問を持つ人なんています?
まさかWindows7から文字化けする文字があるなんて思ってもみなかったよね。
Public Function StrConvWide(str As String) As String
StrConvWide = ""
Dim i As Long
Dim strTemp As String
For i = 1 To Len(str)
' 1文字抜き出す
strTemp = Strings.Mid$(str, i, 1)
' Windows7以降文字化けする文字列は手動で変換する
If Strings.StrComp("゛", strTemp) = 0 Or Strings.StrComp("゙", strTemp) = 0 Then
StrConvWide = StrConvWide & "゛"
ElseIf Strings.StrComp("゜", strTemp) = 0 Or Strings.StrComp("゚", strTemp) = 0 Then
StrConvWide = StrConvWide & "゜"
Else
StrConvWide = StrConvWide & Strings.StrConv(strTemp, vbWide)
End If
Next i
End Function
他にもニッチなIT関連要素をまとめていますので、よければ一覧記事もご覧ください。