FileSystem.FilePutObject メソッド
アセンブリ: Microsoft.VisualBasic (microsoft.visualbasic.dll 内)

Public Shared Sub FilePutObject ( _ FileNumber As Integer, _ Value As Object, _ <OptionalAttribute> Optional RecordNumber As Long = -1 _ )
Dim FileNumber As Integer Dim Value As Object Dim RecordNumber As Long FileSystem.FilePutObject(FileNumber, Value, RecordNumber)
public static void FilePutObject ( int FileNumber, Object Value, [OptionalAttribute] long RecordNumber )
public: static void FilePutObject ( int FileNumber, Object^ Value, [OptionalAttribute] long long RecordNumber )
public static void FilePutObject ( int FileNumber, Object Value, /** @attribute OptionalAttribute() */ long RecordNumber )

詳細については、Visual Basic のトピック「FilePutObject 関数」を参照してください。
Integer、Long、Short などの型ではなく、Object が渡された場合、FilePutObject 関数を FilePut の代わりに使用して、コンパイル時のあいまいさを回避します。
FilePutObject は、オブジェクトを表す記述子を読み書きします。Variant 型を書き出す場合は、FilePutObject が必要です。判断に迷った場合、2 番目のパラメータにオブジェクトを使用しているのであれば、FilePutObject および FileGetObject を使用することをお勧めします。
FilePutObject は、ランダム モードおよびバイナリ モードの場合にだけ有効です。
FilePutObject で書き込まれたデータは、通常、FileGetObject でファイルから読み込まれます。
ファイルの中で先頭のレコード番号またはバイト位置は 1 になり、2 番目のレコード番号またはバイト位置は 2 になります。RecordNumber を省略した場合、FilePutObject は、最後に呼び出した FileGetObject 関数または FilePutObject 関数、あるいは最後に呼び出した Seek 関数が示す位置の次のレコードまたはバイトを読み込みます。
StringIsFixedLength 引数は、関数が文字列を変数として解釈するか、または固定長として解釈するかを制御します。FilePutObject は、引数が True の場合には長さ記述子を書き込みません。FilePutObject で StringIsFixedLength を True に指定した場合は、FileGetObject でも同じように指定する必要があります。また、文字列が正しい長さに初期化されているかを確認する必要もあります。
ランダム モードランダム モードで開いたファイルの場合は、次の規則が適用されます。
-
書き込むデータの長さが FileOpen 関数の RecordLength 句で指定した長さを超えない限り、FilePutObject はレコード長の終端から次のレコードを書き込みます。レコードの終わりと、次のレコードの始まりとの間のスペースは、ファイル バッファの既存の内容で埋められます。どの程度のデータを埋め込めばよいかを特定できないため、書き込むデータの長さと同じレコード長を割り当てることが一般的に推奨されます。書き込むデータの長さが FileOpen 関数の RecordLength 句で指定した長さを超える場合は例外がスローされます。
-
数値型を格納するオブジェクト変数を使う場合、FilePutObject はオブジェクトの VarType を識別する 2 バイトを書き込んでから、変数を書き込みます。たとえば、整数型を格納するオブジェクトを書き込む場合、FilePutObject 関数は 6 バイトを書き込みます。内訳は、VarType(3) (Integer) を示す 2 バイトと、データを格納する 4 バイトです。FileOpen 関数の RecordLength パラメータで指定するレコード長には、変数を格納するために必要な実際のバイト数より、2 バイト以上大きい値を指定する必要があります。
-
文字列を格納するオブジェクト型の変数を使う場合、FilePutObject はオブジェクトの VarType(8) を示す 2 バイトの記述子を書き込み、文字の長さを示す 2 バイトの記述子を書き込んでから、文字列データを書き込みます。FileOpen 関数の RecordLength パラメータで指定するレコード長には、文字列の実際の長さより 4 バイト以上大きい値を指定する必要があります。記述子なしで文字列を書き込む場合は、True を StringIsFixedLength パラメータに渡します。この場合は、正しい長さの文字列を読み込む必要があります。
-
書き込む変数が配列の場合、サイズの記述子および配列の次元を書き込むかどうかを選択できます。Visual Basic のバージョン 6.0 以前では、固定サイズ配列ではなく、動的配列のファイル記述子が書き込まれます。Visual Basic では、既定では記述子は書き込まれません。記述子を書き込むには、ArrayIsDynamic パラメータを True に設定します。配列を書き込むときは、配列の読み込み方法に合わせる必要があります。記述子を使って読み取る場合は、記述子を書き込む必要があります。記述子は、配列のランク、サイズ、および各ランクの下限を指定します。長さは、次元数の 8 倍に 2 を足した値 (2 + 8 * NumberOfDimensions) です。FileOpen 関数の RecordLength 句で指定するレコード長は、配列データと配列記述子を書き込むために必要なバイト数の合計、またはそれ以上である必要があります。


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


FileSystem クラス
FileSystem メンバ
Microsoft.VisualBasic 名前空間
その他の技術情報
FilePutObject 関数
FileGet 関数
FileOpen 関数
Seek 関数
FilePut 関数
My.Computer.FileSystem オブジェクト
Visual Basic でのファイルへの書き込み
Weblioに収録されているすべての辞書からFileSystem.FilePutObject メソッドを検索する場合は、下記のリンクをクリックしてください。

- FileSystem.FilePutObject メソッドのページへのリンク