Input関数

Input関数は、VBA関数の中で制御・入出力関数に分類される関数です。

目次

スポンサー リンク

Input関数とは

Input関数は、シーケンシャル入力モード (Input) またはバイナリ モード (Binary) で開いたファイルから指定した文字数の文字列を読み込み、文字列型 (String) の値を返します。

構文Input(number, [#]filenumber)
引数省略説明
number ×ファイルから読み込む文字数を表す任意の数式を指定します。
truepart ×任意のファイル番号を指定します。

通常、Input 関数で読み込んだデータは、Print # ステートメントまたは Put ステートメントを使用してファイルに書き込みます。Input 関数は、シーケンシャル入力モードまたはバイナリ モードで開いたファイルに対してのみ使用します。
Input # ステートメントと異なり、Input 関数は読み込んだすべての文字を返します。カンマ (,)、キャリッジ リターン (Chr(13))、ライン フィード (Chr(10))、ダブル クォーテーション (")、先頭のスペースも返します。
バイナリ モードで開いたファイルに対して、Input 関数を使用して EOF 関数が真 (True) を返すまでファイルを読み込もうとすると、エラーが発生します。Input 関数を使用してバイナリ ファイルを読み込む場合は、EOF 関数の代わりに LOF 関数および Loc 関数を使用します。EOF 関数を使用する場合は、Get ステートメントを使用します。
テキスト ファイルに含まれているバイト データを読み込むには、InputB 関数を使用します。InputB 関数では、引数 number には取得する文字数ではなく、取得するバイト数を指定します。

Input関数のサンプルコード

次の例は、Input 関数を使って、ファイルから 1 文字ずつ読み込んでいます。読み込んだ文字はイミディエイト ウィンドウに表示されます。ファイル TESTFILE は、複数行のデータを含むテキスト ファイルと仮定します。


Sub Sample

Dim MyChar
Open "TESTFILE" For Input As #1        ' ファイルを開きます。
Do While Not EOF(1)                ' ファイルの終端までループを繰り返します。
    MyChar = Input(1, #1)            ' 1 文字のデータを読み込みます。
    Debug.Print MyChar                ' イミディエイト ウィンドウに表示します。
Loop
Close #1                            ' ファイルを閉じます。

End Sub

実行結果

解説

制御・入出力関数一覧

関数名内容
Choose数値で指定した式の値を返します。
IIf式の結果により2つの引数のうち1つを返します。
Inputファイルから指定した文字数の文字列を読みこんで返します。
InputBファイルから指定したバイト数のデータを読み込んで返します。
InputBoxダイアログボックスにメッセージを表示しテキストボックスに入力した値を返します。
MsgBoxダイアログボックスにメッセージを表示します。
Partition指定した数値の範囲が属する文字列を返します。
Spc指定した数のスペースを挿入します。
Switch条件式を評価し、真(True)の場合に式を返します。
TypeName変数に関する情報を返します。
ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。