InputB関数 解説(Excel VBA)

Excel VBAのInputB関数について

Excel VBAのInputB関数は、バイナリモードで開かれたファイルから指定したバイト数のデータを文字列として読み取る関数です。この関数は特定のバイト数とファイル番号の2つのパラメータを必要とします。

InputB関数の構文

InputB関数の構文は以下の通りです。

InputB(number, #filenumber)

ここで、numberは必須のパラメータで、読み取るバイト数を指定します。この数値は正の整数でなければなりません。

#filenumberも必須のパラメータで、データを読み取るファイルを指定します。これは、事前にOpenステートメントで開かれ、一意な整数によって識別されるファイルです。

InputB関数の使用例

以下に、InputB関数の使用例を示します。ここでは、事前にOpenステートメントで開かれたバイナリファイルから100バイトを読み取ります。

Sub ReadBinaryFile()
    Dim FileNumber As Integer
    Dim Data As String
    
    FileNumber = FreeFile  ' ファイル番号を取得
    
    Open "C:\path\to\your\file" For Binary As #FileNumber  ' ファイルを開く
    
    Data = InputB(100, #FileNumber)  ' ファイルから100バイトを読み取る
    
    Close #FileNumber  ' ファイルを閉じる
    
    Debug.Print Data  ' データを表示
End Sub

このコードでは、まずFreeFile関数を使用して使用可能なファイル番号を取得しています。その後、このファイル番号を使用してバイナリファイルを開きます。

InputB関数は、指定したバイト数だけファイルからデータを読み取り、その結果を文字列として返します。この例では、最初の100バイトを読み取っています。

最後に、Debug.Printステートメントを使用して読み取ったデータを表示します。