Input 関数・InputB 関数
Open ステートメントをシーケンシャル入力モード(Input)または、バイナリモード(Binary)で開いたファイルのデータを読み込みます。カンマ(,)、引用符など、読み取ったすべての文字を取得します。
【書式】
result = Input ( number, #filenumber )
result = InputB ( numberb, #filenumber )
引数・戻り値
- number  ・・・  取得する文字数を指定します。
- numberb  ・・・  取得するバイト数を指定します。
- filenumber  ・・・  Open ステートメント で、割り当てられたファイル番号を指定します。
- result  ・・・  開いたファイルから、取得した文字列型(String)の値。
- number ・・・ 取得する文字数を指定します。
- numberb ・・・ 取得するバイト数を指定します。
- filenumber ・・・ Open ステートメント で、割り当てられたファイル番号を指定します。
- result ・・・ 開いたファイルから、取得した文字列型(String)の値。
Input 関数で読み取るデータは、通常、Print # ステートメント または Put ステートメントでファイルに書き込まれます。
Input 関数・InputB 関数 使用例
Input 関数・InputB 関数 使用例 で読み込むファイルの内容
サンプルVBAソース 1
| 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 31 | Sub Sample_InputFunction1()     'Input関数を使用してファイルの内容を読み込む     Dim MyChar     Dim str     Dim FileName As String     Dim FNum As Integer     FileName = "C:\Documents\mydata\file01.txt"     FNum = FreeFile     'ファイル番号取得     'Input モードでファイルを開く     Open FileName For Input As #FNum     '文末まで処理を繰り返す(EOF 関数使用)     Do Until EOF(FNum)         '1文字づつ取得         MyChar = Input(1, #FNum)         str = str & MyChar     Loop     'ファイルを閉じる     Close #FNum     '内容を表示     MsgBox str End Sub | 
サンプルVBAソース 1 実行結果
サンプルVBAソース 2
| 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 | Sub Sample_InputFunction2()     'InputB関数を使用してファイルの内容を読み込む     Dim str     Dim FileName As String     Dim FNum As Integer     Dim aaa     FileName = "C:\Documents\mydata\file01.txt"     FNum = FreeFile     'ファイル番号取得     'Input モードでファイルを開く     Open FileName For Input As #FNum     'ファイル内容を一括で取得     str = StrConv(InputB(FileLen(FileName), #FNum), vbUnicode)     'ファイルを閉じる     Close #FNum     '内容を表示     MsgBox str End Sub | 
サンプルVBAソース 2 実行結果
サンプルVBAソース 3
| 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 31 32 | Sub Sample_InputFunction3()     Dim FileName As String     Dim FNum As Integer     Dim MyLocation, MyLine     'Input関数を使用してファイルの内容を読み込む     FileName = "C:\Documents\mydata\file01.txt"     FNum = FreeFile     'ファイル番号取得     'Binary モードでファイルを開く     Open FileName For Binary As #FNum     '文末まで処理を繰り返す(LOF 関数、Loc 関数使用)     Do While MyLocation < LOF(FNum)         '1文字づつ取得         MyLine = MyLine & Input(1, #FNum)         '現在の読み取り位置を取得         MyLocation = Loc(FNum)     Loop     '内容を表示     MsgBox MyLine & vbCrLf & "ファイルサイズ:" & MyLocation     'ファイルを閉じる     Close #1 End Sub |