FSOを利用して、特定のファイルがなければ、FSO.CreateTextFileを使ってファイルを作成して、ログを記入します。
特定のファイルがあれば、FSO.OpenTextFileを使って追記します。
ファイルが存在しないので新規でファイル作成を行ってからログを記入するのははうまくいくのですが、ファイルが存在するので、ファイルを開いて追記する場合ががうまくできません。
何が原因なのでしょうか?
以下がそのプログラムです。
アドバイスをよろしくお願いします。
Dim excel_folder
excel_folder = ThisWorkbook.Path
excel_folder = excel_folder & "\log.txt"
Set objShell = CreateObject("Wscript.Shell")
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim stream, data_text
If FSO.fileexists(excel_folder) Then
Set stream = FSO.OpenTextFile(Filename:=excel_folder, IOMode:=ForAppending, Create:=True)
Else:
Set stream = FSO.CreateTextFile(Filename:=excel_folder, Overwrite:=True)
End If
data_text = "test"
stream.writeLine (data_text)
stream.writeLine (vbCrLf)
stream.Close
お礼
ありがとうございます。 できました。 IOMode:=ForAppendingがだめみたいです。 また、ファイルの有無も確認しなくてもできました。