2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« ERRORLEVELを返さないコマンドのエラー判定 | トップページ | VBAのDir()関数のワイルドカードは誤動作する。 »

2008年3月 9日 (日)

VBAで文字列の中身をダンプする。

VBAで文字列の中身をダンプする。

文字列の中に変な文字コードがないかは、VBScriptやJScriptでは、WScript.Echo(escape(文字列))で、確認するのですが、VBAではどうするか?
ScriptControl経由でVBScriptやJScriptのescape()を使うこともできますが、それより、以下のような関数を作って使ったほうが簡単でしょう。

Sub Dump(Text As String)
Dim k As Long
For k = 1 To Len(Text)
Debug.Print k, Mid(Text, k, 1), Hex(Asc(Mid(Text, k, 1)))
Next
End Sub

MsgBoxに出すなら、

Sub Dump(Text As String)
Dim k As Long
Dim a() As String
ReDim a(Len(Text) - 1)
For k = 1 To Len(Text)
a(k - 1) = Join(Array(k, Mid(Text, k, 1), Hex(Asc(Mid(Text, k, 1)))), vbTab)
Next
MsgBox Join(a, vbLf)
End Sub

« ERRORLEVELを返さないコマンドのエラー判定 | トップページ | VBAのDir()関数のワイルドカードは誤動作する。 »