ホーム > Excel > ExcelのVBAでテキストファイルを出力する

ExcelのVBAでテキストファイルを出力する

2010 年 2 月 12 日 コメントをどうぞ コメント
このエントリーをはてなブックマークに追加
Bookmark this on Yahoo Bookmark

ExcelのVBAでテキストファイルを出力する方法を考える。
次はアクティブシートのセルA1からA10の内容を「出力結果.txt」というテキストファイルに出力する場合のコードである。
この例ではセルの中身を単純にそのまま書き出しているが、実際には何らかの変換を施して使うのであろう。

Sub テキストとして出力()
    fnsave = "出力結果.txt"
    numff = FreeFile
    Open fnsave For Output As #numff
    For i = 1 To 10
        temp = Cells(i, 1)
        Print #numff, temp
    Next i
    Close #numff
End Sub

次のコードは出力する内容を変数にため込み、一気に書き込む方法である。
セルの順番を入れ替えたり、セル同士を結合したり、上の例より柔軟に処理ができるかもしれない。
ただし、上と違って、自動的に改行が入らないことに注意する。もし改行を入れるならば「temp = temp & Cells(i, 1)」のところを「temp = temp & Cells(i, 1) & Chr(13)」と書くとよい。

Sub テキストとして出力2()
    fnsave = "出力結果.txt"
    numff = FreeFile
    Open fnsave For Output As #numff
    temp = ""
    For i = 1 To 10
        temp = temp & Cells(i, 1)
    Next i
    Print #numff, temp
    Close #numff
End Sub

ファイル名を変えたり、保存場所を変えたりしたい場合には、1行目の代わりに次のように書くとよい。

fnsave = Application.GetSaveAsFilename("出力結果.txt", "テキスト(*.txt),*.txt")
If fnsave = False Then Exit Sub
カテゴリー: Excel タグ: ,
  1. コメントはまだありません。
  1. トラックバックはまだありません。