Write # ステートメント

シーケンシャル ファイルにデータを書き込みます。

構文

Write #filenumber, [ outputlist ]

Write # ステートメントの構文には、次の指定項目があります。

指定項目 説明
filenumber 必須。 任意の有効なファイル番号
outputlist 省略可能。 コンマで区切られた 1 つ以上の数値式または文字列式です。この式がファイルに書き込まれます。

解説

通常、Write # で書き込むデータは、ファイルから Input # で読み取ります。

outputlist を省略して、filenumber の後ろにコンマを含めると、ファイルに空白行が出力されます。 複数の式は、スペース、セミコロン、またはコンマで区切ることができます。 スペースは、セミコロンと同等に働きます。

Write # を使用してファイルにデータを書き込むときには、いくつかの一般的な前提に従うことで、Input # を使用したデータの読み取りと正しい解釈が、ロケールに関係なく常に可能になるようにします。

  • 数値データは、小数点の記号として常にピリオドを使用して書き込まれます。
  • Boolean データについては、#TRUE# または #FALSE# が出力されます。 ロケールに関係なく、 True キーワードと Falseキーワード は翻訳されません。
  • Date データは、共通の日付形式を使用してファイルに書き込まれます。 日付または時刻の部分が見つからない場合や 0 の場合は、指定されている部分のみがファイルに書き込まれます。
  • outputlist データが Empty の場合は、ファイルに何も書き込まれません。 ただし、Null データについては、#NULL# が書き込まれます。
  • outputlist データが Null データの場合は、ファイルに #NULL# が書き込まれます。
  • Error データについては、出力が #ERROR errorcode# の形式になります。 Error キーワードは、ロケールに関係なく翻訳されません。

Print # ステートメントとは異なり、Write # ステートメントは、ファイルへの書き込み時に項目間にコンマを挿入し、文字列を引用符で囲みます。 リストに明示的な区切り記号を含める必要はありません。 Write # は、outputlist の最後の文字をファイルに書き込んだ後に、改行文字の回復改行 (Chr(13) + Chr(10) ) を挿入します。

注:

埋め込みの引用符が含まれている文字列は書き込まないでください。たとえば、"1,2""X" に対して Input # ステートメントを使用すると、この文字列は Input # によって 2 つの完全な個別の文字列として解析されます。

この例では、Write # ステートメントを使用してシーケンシャル ファイルに生データを書き込みます。

Open "TESTFILE" For Output As #1    ' Open file for output. 
Write #1, "Hello World", 234    ' Write comma-delimited data. 
Write #1, ' Write blank line. 
 
Dim MyBool, MyDate, MyNull, MyError 
' Assign Boolean, Date, Null, and Error values. 
MyBool = False : MyDate = #February 12, 1969# : MyNull = Null 
MyError = CVErr(32767) 
' Boolean data is written as #TRUE# or #FALSE#. Date literals are  
' written in universal date format, for example, #1994-07-13#  
 'represents July 13, 1994. Null data is written as #NULL#.  
' Error data is written as #ERROR errorcode#. 
Write #1, MyBool ; " is a Boolean value" 
Write #1, MyDate ; " is a date" 
Write #1, MyNull ; " is a null value" 
Write #1, MyError ; " is an error value" 
Close #1    ' Close file. 

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。