アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (1件)

Set stream = FSO.OpenTextFile(Filename:=excel_folder, IOMode:=ForAppending, Create:=True)



Set stream = FSO.OpenTextFile(excel_folder, 8, True)
としてみたらどうでしょうか
この場合、ファイルが存在しない場合、新しくファイルを作るので、
ファイルの存在確認は必要ないような気がします。
    • good
    • 0
この回答へのお礼

ありがとうございます。
できました。
IOMode:=ForAppendingがだめみたいです。
また、ファイルの有無も確認しなくてもできました。

お礼日時:2006/05/28 18:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!