Input 関数

更新 : 2007 年 11 月

シーケンシャル入力モードで開いたファイルからデータを読み込んで、それを変数に格納します。

Public Sub Input( _
   FileNumber As Integer, _
   ByRef Value As Object _
)

パラメータ

  • FileNumber
    必ず指定します。有効なファイル番号です。

  • Value
    必ず指定します。ファイルから読み込んだ値を格納するための変数です。配列変数、またはオブジェクト変数を指定することはできません。

例外

例外の種類

エラー番号

条件

IOException

52

FileNumber が存在していません。

IOException

54

ファイル モードが無効です。

非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、"エラー番号" の列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と比較することもできます)。ただし、可能であれば、このようなエラー制御は Visual Basic の構造化例外処理の概要 に置き換えることを検討してください。

解説

Input 関数は、下位互換性を保つために提供されており、パフォーマンスに影響を与える可能性があります。非レガシ アプリケーションに対しては、My.Computer.FileSystem オブジェクトを使用した方が、パフォーマンスが高くなります。詳細については、「Visual Basic におけるファイル アクセス」を参照してください。

通常、Input 関数を使用して読み込んだデータは Write 関数を使用して書き込みます。この関数は、Input モードまたは Binary モードで開いたファイルに対してだけ使用します。

tty8298b.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

ファイルからデータを読み取るときは、ファイル名の拡張子に基づいてファイルの内容を判断しないでください。たとえば、Form1.vb という名前のファイルが Visual Basic のソース ファイルとは限りません。

ファイルからデータを読み込む場合、通常、文字列データは文字列型 (String)、数値データは数値データ型として格納されます。これ以外のデータを読み込んだ場合、次に示すようにデータによって変数に格納される値が異なります。

データ

変数に格納される値

コンマのみ、または空白行

Empty

#NULL#

DBNull

#TRUE# または #FALSE#

True または、次のようにも指定できます。False

#yyyy-mm-ddhh:mm:ss#

式によって表された日付と時刻

#ERROR errornumber#

errornumber (エラー値として格納されたオブジェクト型)

データの入力中にファイルの末尾に達した場合は、入力が終了されてエラーが発生します。

tty8298b.alert_note(ja-jp,VS.90).gifメモ :

Input 関数はローカライズされません。たとえば、ドイツ語バージョンでもコンマは小数点ではなく変数の区切り文字として扱われるため、3,14159 と入力すると 3 だけが返ります。

tty8298b.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

Input 関数を使ってファイルを読み込むには、FileIOPermissionAccess 列挙値の Read アクセスが必要です。詳細については、「FileIOPermissionAccess 列挙体」を参照してください。

使用例

Input 関数を使ってファイルからデータを読み込み、2 つの変数に代入する例を次に示します。この例のファイル TestFile は、数行のデータが Write 関数を使って書き込まれているものと仮定します。各行は "Hello", 234 のように、文字列が二重引用符で囲まれ、数値はコンマで区切られています。

FileOpen(1, "TESTFILE", OpenMode.Output)
Write(1, "hello")
Write(1, 14)
FileClose(1)
Dim s As String = "teststring"
Dim i As Integer 
FileOpen(1, "TESTFILE", OpenMode.Input)
Input(1, s)
MsgBox(s)
Input(1, i)
MsgBox(i)
FileClose(1)

スマート デバイス開発者のためのメモ

この関数はサポートされていません。

必要条件

名前空間 : Microsoft.VisualBasic

モジュール : FileSystem

**アセンブリ :**Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)

参照

処理手順

方法 : Visual Basic でテキストをファイルに書き込む

方法 : Visual Basic で StreamWriter を使用してテキストをファイルに書き込む

参照

InputString 関数

FileOpen 関数

Print 関数、PrintLine 関数

Write 関数、WriteLine 関数

その他の技術情報

Visual Basic におけるファイル アクセス