VB6・VBA関数メモ:Write #ステートメント

Write #ステートメントについてメモしておきます。

このステートメントはファイルにデータの書き込みの際に使用します。

同じファイル書き込みのステートメントにPrint#ステートメントがありますが、
こちらはデータ型によって書き込む形式が変わってきます。

データ型を保持してテキストファイルに書き込みたい場合等で使用すると良いかと思います。
逆に、単純な文字列のデータを保存したい場合はPrint#ステートメントを使用した方が良いかと思います。

このステートメントで書き込んだファイルは基本的にInput#ステートメントで読み込みを行います。


概要

Line Input #FileNmber, VarList
機能 ファイルに指定データを1行ずつ書き込む。
引数 FileNmber Openステートメントで指定したファイル番号
OutputList (省略時は空行を書き込み)
ファイルに書き込むデータ
カンマ(,)またはセミコロン(;)区切りで複数指定可能


使用例

説明 記述例 出力
ファイルにデータを書き込み
Dim n   As Integer

n = FreeFile
Open "Sumple.txt" For Output As #n

Write #n, "abc"
Write #n, 123
Write #n, True
Write #n, Now
Write #n, Null

Close #n
(Sumple.txt)
"abc"
123
#TRUE#
#2012-01-21 08:30:51#
#NULL#
ファイルにデータを書き込み
(複数データ)
Dim n   As Integer

n = FreeFile
Open "Sumple.txt" For Output As #n

Write #n, "abc", 123, True

Close #n
(Sumple.txt)
"abc",123,#TRUE#
Dim n   As Integer

n = FreeFile
Open "Sumple.txt" For Output As #n

Write #n, "abc"; 123; True

Close #n
(Sumple.txt)
"abc",123,#TRUE#


動作検証

説明 記述例 出力
文字列型はダブルクォーテーション(")で囲む
Dim n   As Integer

n = FreeFile
Open "Sumple.txt" For Output As #n

Write #n, "abc"

Close #n
(Sumple.txt)
"abc"
数値型は数値のまま書き込まれる
(正の値の場合は頭に
半角スペースが付与されない)
Dim n   As Integer

n = FreeFile
Open "Sumple.txt" For Output As #n

Write #n, 123
Write #n, -123

Close #n
(Sumple.txt)
123
-123 
Boolean型は#TRUE#/#FALSE#で
書き込まれる
Dim n   As Integer

n = FreeFile
Open "Sumple.txt" For Output As #n

Write #n, True
Write #n, False

Close #n
(Sumple.txt)
#TRUE#
#FALSE#
Date型は日時の形式を#で囲んで
書き込まれる
Dim n   As Integer

n = FreeFile
Open "Sumple.txt" For Output As #n

Write #n, Now

Close #n
(Sumple.txt)
#2012/01/21 8:10:29#
Null値は#NULL#と書き込まれる
Dim n   As Integer

n = FreeFile
Open "Sumple.txt" For Output As #n

Write #n, Null

Close #n
(Sumple.txt)
#NULL#
Output/Appendモードで開いた
ファイルのみ使用可能
Dim n   As Integer
n = FreeFile
Open "Sumple.txt" For Output As #n
Write #n, "123"
Close #n
Dim n   As Integer
n = FreeFile
Open "Sumple.txt" For Append As #n
Write #n, "123"
Close #n
Dim n   As Integer
n = FreeFile
Open "Sumple.txt" For Input As #n
Write #n, "123"
Close #n
エラー
Dim n   As Integer
n = FreeFile
Open "Sumple.txt" For Binary As #n
Write #n, "123"
Close #n
エラー
Dim n   As Integer
n = FreeFile
Open "Sumple.txt" For Random As #n
Write #n, "123"
Close #n
エラー


コメント
コメントする








    
この記事のトラックバックURL
トラックバック