テキストファイル:データを書き込む(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 実行後に作成されたファイルの内容
関連記事
-
Excel を終了する(Quit メソッド)
Excel を終了する(Quit メソッド) Quit メソッドを実行すると、E …
-
開いているファイルの現在の読み取り位置または書き込み位置を取得(Seek 関数)
Seek 関数 Open ステートメント で開いたファイル内の現在の読み取り位置 …
-
Excel の組み込みダイアログボックス(Dialog, Dialogs)
Excel の組み込みダイアログボックスを表示 Dialog オブジェクト を使 …
-
ファイルサイズを取得(FileLen 関数)
ファイルサイズを取得 ファイルのサイズ(バイト数)を取得するには、FileLen …
-
「名前を付けて保存」ダイアログボックスを表示(GetSaveAsFilename メソッド)
GetSaveAsFilename メソッド 「名前を付けて保存」ダイアログボッ …
-
テキストファイル:データを書き込む(Put ステートメント)
Put ステートメント Open ステートメント をランダムアクセスモード(Ra …
-
組み込みダイアログボックスの引数一覧
組み込みダイアログボックスの引数一覧 Excel の組み込みダイアログボックスを …
-
特殊フォルダを取得(wsh.SpecialFolders)
CreateObject 関数:特殊フォルダを取得(WSH.SpecialFol …
-
ファイルのタイムスタンプを取得(FileDateTime 関数)
ファイルのタイムスタンプを取得 ファイルのタイムスタンプを取得するには、File …
-
ファイルを削除(Kill ステートメント)
ファイルを削除する ファイルを削除するには、Kill ステートメント を使用しま …