|
▼花粉症 さん:
こんにちは。
>よろしくお願いします。花粉症です
私、そろそろ花粉症、終結です。
>VBAでテキストを取り込んで、編集するマクロを
>作成中です。
>その中で、あるセルの内容をテキストに書き出し
>たいんですが、VBAではどうしたらいいんでしょうか。
>
>よろしくお願いします。
例題は、アクティブシートのセルA1〜A4の内容をテキストファイルに書き込むものです。
標準モジュール(Module1)に、
'======================================================
Sub テキスト出力()
Dim flnm
flnm = Application.GetSaveAsFilename(fileFilter:="テキスト ファイル (*.txt), *.txt")
If flnm <> False Then
If open_file_output(flnm) = 0 Then
Set rng = Range("a1:a4")
For idx = 1 To rng.Count
If put_file(rng.Cells(idx).Value) <> 0 Then
Exit For
End If
Next
Call close_file
End If
End If
End Sub
標準モジュール(Module2)に、
'=============================================================
Dim flno As Long
'===============================
Function open_file_output(flnm)
On Error Resume Next
open_file_output = 0
flno = FreeFile
Open flnm For Output As #flno
If Err.Number <> 0 Then
MsgBox Error$(Err.Number) & ":" & Err.Number
open_file_output = Err.Number
End If
On Error GoTo 0
End Function
'==========================================
Function put_file(f_data As Variant) As Long
On Error Resume Next
put_file = 0
Print #flno, f_data
If Err.Number <> 0 Then
MsgBox Error(Err.Number) & ":" & Err.Number
put_file = Err.Number
End If
On Error GoTo 0
End Function
'===========================================
Sub close_file()
On Error Resume Next
Close #flno
On Error GoTo 0
End Sub
でテキストファイルが作成されました。
|
|