ExcelのVBAでテキストファイルを出力する
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
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
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
If fnsave = False Then Exit Sub





















最近のコメント