Write 関数、WriteLine 関数
更新 : 2007 年 11 月
シーケンシャル出力モードで開いたファイルにデータを書き込みます。通常、Write 関数を使用して書き込んだデータは、Input 関数で読み込みます。
Public Sub Write( _
ByVal FileNumber As Integer, _
ByVal ParamArray Output As Object _
)
' -or-
Public Sub WriteLine( _
ByVal FileNumber As Integer, _
ByVal ParamArray Output() As Object _
)
パラメータ
FileNumber
必ず指定します。有効なファイル番号を表す整数型 (Integer) の式です。Output
省略可能です。ファイルに書き込む、コンマで区切られた式。
例外
例外の種類 |
エラー番号 |
条件 |
---|---|---|
FileNumber が存在していません。 |
||
ファイル モードが無効です。 |
非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、「エラー番号」列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と照らし合わせます)。しかし、可能な限り、このエラー処理は Visual Basic の構造化例外処理の概要 で置き換えてください。
解説
Write および WriteLine 関数は、下位互換性を保つために提供されており、パフォーマンスに影響を与える可能性があります。非レガシ アプリケーションに対しては、My.Computer.FileSystem オブジェクトはより優れたパフォーマンスを発揮します。詳細については、「Visual Basic におけるファイル アクセス」を参照してください。
引数 Output を省略すると、空行がファイルに出力されます。複数の式をコンマで区切って含めることができます。
Write 関数は、Print 関数と異なり、ファイルにデータを書き込むときにデータ項目の間にはコンマを挿入し、文字列は引用符で囲みます。引数 outputlist には明示的に区切り文字を指定する必要はありません。Write を使用してデータをファイルに書き込む場合、サポートされるのは、数値、Boolean、日付、null、Error のデータ形式のみです。次の一般的な前提が適用されるので、ロケールに関係なく Input を使ってデータを正しく読み取り、解釈できます。
数値データ型のデータは、小数点記号としてピリオド (.) が常に使用されます。
ブール型 (Boolean) のデータは、#TRUE# または #FALSE# という文字列で出力されます。キーワード True と False は、ロケールに応じて翻訳されることはありません。
日付型のデータは、共通日付形式を使用して書き込まれます。日付や時間の構成要素がない場合やゼロの場合は、指定されている部分だけのデータがファイルに書き込まれます。
引数 Output のデータが空の場合は、ファイルには何も書き込まれません。引数 Output のデータが NULL の場合は、文字列 #NULL# がファイルに書き込まれます。
エラー データは、文字列 #ERROR errorcode# という形式で出力されます。キーワード Error は、ロケールに応じて翻訳されることはありません。
WriteLine 関数はファイルに引数 Output の最後の文字を出力した後、復帰/改行文字 (Chr(13) + Chr(10)) を挿入します。
引用符を文字列に埋め込むには、二重の引用符 ("") を使用します。たとえば、次のようになります。
Dim x As String = "Double quotation marks aren't ""difficult"" to handle."
Double quotation marks aren't "difficult" to handle という値の文字列を返します。
Write または WriteLine 関数を使用してファイルにデータを書き込むには、FileIOPermissionAccess 列挙体からの Append アクセスが必要です。詳細については、「FileIOPermissionAccess 列挙体」を参照してください。
使用例
Write 関数を使って、シーケンシャル ファイルにデータを書き込みます。
FileOpen(1, "TESTFILE", OpenMode.Output) ' Open file for output.
Write(1, "This is a test.") ' Print text to file.
WriteLine(1) ' Print blank line to file.
WriteLine(1, "Zone 1", TAB(), "Zone 2") ' Print in two print zones.
WriteLine(1, "Hello", " ", "World") ' Separate strings with space.
WriteLine(1, SPC(5), "5 leading spaces ") ' Print five leading spaces.
WriteLine(1, TAB(10), "Hello") ' Print word at column 10.
' Assign Boolean, Date, and Error values.
Dim aBool As Boolean
Dim aDate As DateTime
aBool = False
aDate = DateTime.Parse("February 12, 1969")
' Dates and Booleans are translated using locale settings of
' your system.
WriteLine(1, aBool, " is a Boolean value")
WriteLine(1, aDate, " is a date")
FileClose(1) ' Close file.
スマート デバイス開発者のためのメモ
この関数はサポートされていません。
必要条件
名前空間 : Microsoft.VisualBasic
モジュール : FileSystem
**アセンブリ :**Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)
参照
処理手順
方法 : Visual Basic でテキストをファイルに書き込む
方法 : Visual Basic で StreamWriter を使用してテキストをファイルに書き込む