ピナクルのくるくるパソコン術

みんなが使えるパソコン術を提供します。

【VBA】文字列をバイナリダンプさせる

f:id:Wakao-Institute:20211103181726p:plain:w200
VBAで文字列をバイナリ変換してバイナリダンプする方法を紹介します。

* 手順

文字列をバイナリ変換してバイナリダンプするには下記手順を踏みます。

①文字列をバイナリに変換する
下記関数で変換できます。 変換タイプはvbFromUnicodeを指定してください。

 StrConv(変換元文字列, 変換タイプ)

② バイナリをバイナリダンプにする
1バイトずつ文字に足していきます。

* おまけ

使いやすいように関数化してみました。

Function ConvertTextToDumpText(aSrc As String) As String
    Dim lDst As String
    '文字列をバイナリに変換
    Dim lByte() As Byte
    lByte = StrConv(aSrc, vbFromUnicode)
    
    'バイナリを文字列に整形する
    Dim i As Integer
    For i = 0 To UBound(lByte)
        Dim lHex As String
        lHex = Hex(lByte(i))
        If Len(lHex) = 1 Then
            lHex = "0" + lHex
        End If
        lDst = lDst + lHex
    Next
    
    ConvertTextToDumpText = lDst
End Function

下記のように呼び出して使えます。

Sub PrintByteTest()
    Dim lStr As String
    lStr = Range("A1").Value
    Range("A2").Value = "'" +ConvertTextToDumpText(lStr)
End Sub

f:id:Wakao-Institute:20211103220525p:plain

ぜひ使ってみてください!