Excel VBAでテキストファイルをカンタンに出力する方法
Excel VBAでテキストファイルを出力したい時は、下記のように記述すればOKです。
サンプルコード
Public Sub main()
'変数の宣言
Dim txt1 As Integer
Dim Path As String
'ファイル番号の取得とディレクトリ指定
txt1 = FreeFile
Path = "C:\test.txt"
'ファイルを開く
Open Path For Output As #txt1
'データ出力
Print #txt1, "テキストデータに出力する文字列です。1";
Print #txt1, "テキストデータに出力する文字列です。2";
'ファイルを閉じる
Close #txt1
End Sub
もちろん、上記はvba内部のことですので、ifやforなどの制御文を用いたり、文字列に限らず、ワークブック(ワークシート)のセル情報をそのままテキストファイルへ書き込むルールを指定することも可能です。
openとclose
openとcloseの構文は下記の通りです。
「Open ファイル名 For 用途 As #番号」
「Close #番号」
用途には三種類の指定ができます。例文では、Outputを指定しています。
・Input:読み込み用
・Output:書き込み用
・Append:上書き用
今回はテキストファイルの出力でしたが、外部のテキストファイルやcsvファイルなどからデータを読み取り、vba側で処理することも可能ということです。