ExcelVBAでテキストファイルを出力してみる
どうも、じゃらしです。
今回はExcelVBAのネタです。
ExcelVBAでテキストファイルを作成してみます。
今回のキモは「FileSystemObject」と「TextStream」というオブジェクトです。
これらのオブジェクトを使用するため、コーディングする前に参照設定で「Microsoft Scripting Runtime」にチェックを入れておきましょう。
ここでは、テキストファイルを新規に作成してみます。
Sub test() Dim fso As New FileSystemObject Dim ts As TextStream 'テキストを作成する場所 Dim filePath As String filePath = "C:\wk\test.txt" 'テキストファイルを作成して編集する Set ts = fso.CreateTextFile(filePath) With ts .WriteLine "Write Line" .WriteBlankLines 3 .Write "Write" .Close End With Set ts = Nothing Set fso = Nothing End Sub
↑のスクリプトを実行すると、↓のテキストファイルが作成されます。
「FileSystemObject」には、ExcelVBA上でファイルやフォルダを操作するメソッドが用意されています。テキストファイルを作成するメソッド「CreateTextFile」を使用しました。
また、テキストファイルを扱うオブジェクトとして「TextStream」が登場します。
「TextStream」には、テキスト行を読み書きするメソッドがいくつか用意されています。
今回使用したメソッドは
- WriteLine -文字列を書き込む(改行あり)
- WriteBlankLines -指定した数だけ空白行を書き込む
- Write -文字列を書き込む(改行なし)
- Close -テキストファイルを閉じる
でした。
以上、それではまた。