テキストファイルとは、フォント指定や色などが含まれない文字だけのファイルです。
なのでファイルサイズも小さくてすむのでよく使います。
Excelからでも簡単に書き込みできるので、その使い方を掲載します。
書き込みは、OpenステートメントとOutputモードを使います。
OpenステートメントとOutputモードの構文
Open PathName For Output [Lock] As #FileNumber
- PathName:(省略不可)フルパスのファイル名を指定します。
- Lock:(省略可)他のプロセスからの操作をキーワードで指定します。キーワードは、Shared・Read・Write・Read Writeです。
- FileNumber:(省略不可)1 ~ 511 の範囲で任意のファイル番号を指定します。使用可能なファイル番号を取得するには、FreeFile関数を使用します。
文字列を書き込むには Print #ステートメントを使います。
Print #ステートメントの構文
Print #FileNumber, [OutputList]
- FileNumber:(省略不可)Openステートメントで指定したファイル番号を指定します。
- OutputList:(省略可)書き込む文字列を指定します。セミコロンで区切ると、複数のデータ項目を連続し出力できます。
ファイルを閉じるにはCloseステートメントを使います。
Closeステートメントの構文
Close [#FileNumber1] [, #FileNumber2 …]
- FileNumbert:(省略可)Openステートメントで指定したファイル番号を指定します。
関連する「テキストファイルの読込み|OpenとLineInputの使い方」を掲載していますので参照してください。
テキストファイルへ書き込むExcel VBA
ExcelシートとVBA入力画面
シートにコマンドボタンを配置します。
ExTextWriteプロシージャ、CommandButton1のクリックイベントを入力します。
VBAコードの解説
ExTextWriteプロシージャ
- ファイル番号を格納する変数を宣言します。
- FreeFile関数で使用可能なファイル番号を取得し、変数に代入します。
- OpenステートメントとOutputモードでファイルを開きます。
- Print #ステートメントで文字列を3行書き込みます。
- Closeステートメントでファイルを閉じます。
CommandButton1のクリックイベント
- ExTextWriteプロシージャを呼び出し実行します。
ExcelシートのVBAコード
Option Explicit
Private Sub ExTextWrite()
Dim fno As Integer
fno = FreeFile
Open "c:\test1\test.txt" For Output As fno
Print #fno, "Excel"
Print #fno, "エクセル"
Print #fno, "えくせる"
Close fno
End Sub
Private Sub CommandButton1_Click()
ExTextWrite
End Sub
実行結果 Excel画面
書き込みボタンをクリックすると、実行を開始します。
テキストファイルをメモ帳で開いた結果
Print #ステートメントで書き込んだ文字列が表示されています。