VBAでのテキストデータ追記
VBAを使ってデータをテキストファイルに追記したいのですが、
A列だけじゃなく A列からF列までのデータを追記させたいと
考えているのですが、
どうやるのか理解できません。
教えていただけますでしょうか?
--------------------------------------------------------------
Option Explicit
' テキストファイル書き出すサンプル
Sub WRITE_TextFile()
Const cnsTitle = "テキストファイル出力処理"
Const cnsFilter = "テキストファイル (*.txt;*.dat),*.txt;*.dat"
Dim xlAPP As Application ' Applicationオブジェクト
Dim intFF As Integer ' FreeFile値
Dim strFileName As String ' OPENするファイル名(フルパス)
Dim vntFileName As Variant ' ファイル名受取り用
Dim strREC As String ' 書き出すレコード内容
Dim GYO As Long ' 収容するセルの行
Dim GYOMAX As Long ' データが収容された最終行
Dim lngREC As Long ' レコード件数カウンタ
' Applicationオブジェクト取得
Set xlAPP = Application
' 「名前を付けて保存」のフォームでファイル名の指定を受ける
xlAPP.StatusBar = "出力するファイル名を指定して下さい。" ' (1)
vntFileName = xlAPP.GetSaveAsFilename(InitialFilename:="SAMPLE.txt", _
FileFilter:=cnsFilter, _
Title:=cnsTitle)
' キャンセルされた場合はFalseが返るので以降の処理は行なわない
If VarType(vntFileName) = vbBoolean Then Exit Sub
strFileName = vntFileName
' 収容最終行の判定(Excel認知の最終行から上に向かってデータがある行を探す)
With ActiveSheet
If .FilterMode Then .ShowAllData ' オートフィルタ解除
End With
GYOMAX = Cells(65536, 1).End(xlUp).Row ' (2)
If GYOMAX < 2 Then
xlAPP.StatusBar = False
MsgBox "テキストをA列2行目から入力してから起動して下さい。", , cnsTitle
Exit Sub
End If
' FreeFile値の取得(以降この値で入出力する)
intFF = FreeFile
' 指定ファイルをOPEN(出力モード)
Open strFileName For Output As #intFF ' (3)
' 2行目から開始
GYO = 2
' 最終行まで繰り返す
Do Until GYO > GYOMAX
' A列内容をレコードにセット(先頭は2行目)
strREC = Cells(GYO, 1).Value ' (4)
' レコード件数カウンタの加算
lngREC = lngREC + 1
xlAPP.StatusBar = "出力中です....(" & lngREC & "レコード目)"
' レコードを出力
Print #intFF, strREC ' (5)
' 行を加算
GYO = GYO + 1
Loop
' 指定ファイルをCLOSE
Close #intFF
xlAPP.StatusBar = False
' 終了の表示
MsgBox "ファイル出力が完了しました。" & vbCr & _
"レコード件数=" & lngREC & "件", vbInformation, cnsTitle
End Sub
-----------------------------------------------------------------------------
お礼
なるほど。 今後の参考にさせていただきます。 ありがとうございました。