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
No.1ベストアンサー
- 回答日時:
Set stream = FSO.OpenTextFile(Filename:=excel_folder, IOMode:=ForAppending, Create:=True)
を
Set stream = FSO.OpenTextFile(excel_folder, 8, True)
としてみたらどうでしょうか
この場合、ファイルが存在しない場合、新しくファイルを作るので、
ファイルの存在確認は必要ないような気がします。
ありがとうございます。
できました。
IOMode:=ForAppendingがだめみたいです。
また、ファイルの有無も確認しなくてもできました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) Excel VBAについて、 フォルダ内のファイルを全て開きたい場合、 FSOを使えば、Dirは使わ 1 2023/01/27 13:18
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
エクセルでファイルを開かずに...
-
エクセルで他のファイルのセル...
-
複数のtxtの特定部分を抽出し、...
-
パワーポイントをエクセルファ...
-
エクセルで「500時間」を「何日...
-
EXCELで上書き保存しないと反映...
-
エクセル関数の解読サイトなん...
-
メモ帳(拡張子log)の数字デー...
-
時間によってファイル名が変わ...
-
エクセル0:00と表示される原因
-
エクセル 列の最大数はIV?
-
エクセルに貼った画像が変形し...
-
共有しているEXCELシートのアク...
-
エクセルの中にエクセルを添付...
-
エクセルにクリックすると指定...
-
エクセル文書を保存したらメモ...
-
特定の倍数の合計は?
-
エクセルのマウス操作(左クリ...
-
過去の定額郵便貯金の金利表
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
エクセルでファイルを開かずに...
-
Excel 2枚目のブックが開かな...
-
ファイル内にある数字の出現回...
-
CPU使用率が100%となっ...
-
エクセルで他のファイルのセル...
-
複数のtxtの特定部分を抽出し、...
-
PhotoshopでExcelのファイルが...
-
エクセルでハイパーリンクが貼...
-
マクロでシートのデータをコピ...
-
MATLABでcsvファイルを読み込も...
-
マクロで別ファイルのシートコ...
-
エクセルマクロ 数式【VLOOKUP...
-
Excel2000でフォルダを移動する...
-
EXCEL:二つのエクセルファイル...
-
VBAで集計元のファイル名を取得...
-
excel ファイル
-
EXCELを複数起動して別ファイル...
-
autocad LT 外部参照一覧表の「...
-
エクセル保存後に別のブックの...
おすすめ情報