だれかのなにかに役立てるウェブ制作者YoTaの趣味ブログ

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側で処理することも可能ということです。

ページ上部に戻る