テキストファイル:データを書き込む(Write # ステートメント)
Write # ステートメント
Open ステートメント をシーケンシャル出力モード(Output)または追加モード(Append)で開いたファイルにデータを書き込みます。書き込まれるデータ間には、カンマ(,)が挿入されます。
Write #filenumber, [ outputlist, … ]
引数・戻り値
- filenumber ・・・ Open ステートメント で、割り当てられたファイル番号を指定します。
- outputlist ・・・ ファイルに書き込む値(数式や文字列式)を指定します。複数指定する場合は、カンマ(,)で区切って指定します。引数 outputlist を省略するとファイルには空白行が書き込まれます。このとき、直前のカンマ(,)は省略できません。
- 文字列データの場合、ダブルクォーテーション(”)で囲まれて書き込まれます。
- ブール型(Boolean)のデータの場合、#TRUE# または #FALSE# が書き込まれます。
- 日付型(Date)のデータの場合、汎用日付形式(#yyyy-mm-dd hh:mm:ss#、#yyyy-mm-dd#、#hh:mm:ss#)を使用して書き込まれます。
- Null データの場合、#NULL# が書き込まれます。
- Error データの場合、#ERROR errorcode# が書き込まれます。
- Empty の場合は、何も書き込まれません。
- 引数 outputlist に、複数指定した場合、データ間にはカンマ(,)が挿入されます。
- filenumber ・・・ Open ステートメント で、割り当てられたファイル番号を指定します。
- outputlist ・・・ ファイルに書き込む値(数式や文字列式)を指定します。複数指定する場合は、カンマ(,)で区切って指定します。引数 outputlist を省略するとファイルには空白行が書き込まれます。このとき、直前のカンマ(,)は省略できません。
- 文字列データの場合、ダブルクォーテーション(”)で囲まれて書き込まれます。
- ブール型(Boolean)のデータの場合、#TRUE# または #FALSE# が書き込まれます。
- 日付型(Date)のデータの場合、汎用日付形式(#yyyy-mm-dd hh:mm:ss#、#yyyy-mm-dd#、#hh:mm:ss#)を使用して書き込まれます。
- Null データの場合、#NULL# が書き込まれます。
- Error データの場合、#ERROR errorcode# が書き込まれます。
- Empty の場合は、何も書き込まれません。
- 引数 outputlist に、複数指定した場合、データ間にはカンマ(,)が挿入されます。
Write # ステートメントでは、引数 outputlist の最後の文字がファイルに書き込まれた後に、改行文字のキャリッジリターンとラインフィード( Chr(13) + Chr(10) )が挿入されます。
Write # ステートメントで書き込まれるデータは、通常、Input # ステートメントでファイルから読み取られます。
Write # ステートメント 使用例
サンプルVBAソース 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
Sub Sample_Write_Output() 'カンマ区切りのデータを書き込む(Output モード・Write # ステートメント) '「Sheet1」の表をテキストファイルに書き込む 'ファイルが存在しない場合は新規作成、ファイルが既に存在する場合は、内容を上書き Dim w As Worksheet Dim myRng As Range Dim FileName As String Dim FNum As Integer Dim i As Integer Set w = Worksheets("Sheet1") Set myRng = w.Range("A1").CurrentRegion FileName = "C:\Documents\mydata\file01.txt" FNum = FreeFile 'ファイル番号取得 'ファイルを開く(Output モード) Open FileName For Output As #FNum For i = 2 To myRng.Rows.Count 'カンマ区切りでデータを書き込む Write #FNum, myRng(i, 1).Value, myRng(i, 2).Value, myRng(i, 3).Value Next i 'ファイルを閉じる Close #FNum End Sub |
実行結果
「Sheet1」の表
サンプルVBAソース 実行後に作成されたファイルの内容
サンプルVBAソース 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
Sub Sample_Write_Append() 'カンマ区切りのデータを追記する(Append モード・Write # ステートメント) Dim myData(2) myData(0) = Array(6, "花田みき", #2/3/2012#) myData(1) = Array(7, "香川さくら", #2/5/2012#) myData(2) = Array(8, "山川弘美", #3/5/2012#) Dim FileName As String Dim FNum As Integer Dim i As Integer FileName = "C:\Documents\mydata\file01.txt" FNum = FreeFile 'ファイル番号取得 'ファイルを開く(Append モード) Open FileName For Append As #FNum For i = 0 To UBound(myData) 'カンマ区切りでデータを書き込む Write #FNum, myData(i)(0), myData(i)(1), myData(i)(2) Next i 'ファイルを閉じる Close #FNum End Sub |
実行結果
サンプルVBAソース 2 実行後に作成されたファイルの内容
関連記事
-
フルパスからファイル名、パスを取得する
フルパスからファイル名のみを取得する フルパスからファイル名を取得するには、Di …
-
Excelでテキストファイルを開く(OpenText メソッド)
Excelでテキストファイルを開く OpenText メソッドで、テキストファイ …
-
ディレクトリまたはフォルダの削除(RmDir ステートメント)
ディレクトリまたはフォルダの削除 ディレクトリまたはフォルダを削除するには、Rm …
-
ファイル属性の取得・設定(GetAttr 関数・SetAttr ステートメント)
ファイル属性の取得(GetAttr 関数) ファイルやフォルダ(ディレクトリ)の …
-
組み込みダイアログボックスの引数一覧
組み込みダイアログボックスの引数一覧 Excel の組み込みダイアログボックスを …
-
Excel を終了する(Quit メソッド)
Excel を終了する(Quit メソッド) Quit メソッドを実行すると、E …
-
テキストファイル:データを書き込む(Put ステートメント)
Put ステートメント Open ステートメント をランダムアクセスモード(Ra …
-
テキストファイル:出力する 1 行の幅を設定(Width # ステートメント)
Width # ステートメント Open ステートメント をシーケンシャル出力モ …
-
テキストファイル:データを書き込む(Print # ステートメント)
Print # ステートメント Open ステートメント をシーケンシャル出力モ …
-
テキストファイル:データを読み込む(Input 関数・InputB 関数)
Input 関数・InputB 関数 Open ステートメントをシーケンシャル入 …