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の特定部分を抽出し、...
-
CPU使用率が100%となっ...
-
エクセルで他のファイルのセル...
-
パワーポイントをエクセルファ...
-
エクセルでファイルを閉じても...
-
エクセル0:00と表示される原因
-
Lotus 1-2-3のファイルをExcel...
-
エクセル・マクロ(VBA)で、指定...
-
エクセルで「500時間」を「何日...
-
Excel画面の自動更新 Excelファ...
-
エクセル 更新していないのに...
-
xl
-
エクセルでチェックボックスを...
-
PDFの請求明細をエクセルにしたい
-
エクセルで数値の上3桁で切捨...
-
PCからエクセルが消えたしまい...
-
エクセルVBAでアクセスファイル...
-
エクセルで用紙の折り目を
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
エクセルでファイルを開かずに...
-
Excel 2枚目のブックが開かな...
-
CPU使用率が100%となっ...
-
エクセルで他のファイルのセル...
-
複数のtxtの特定部分を抽出し、...
-
マクロで別ファイルのシートコ...
-
文字しか入っていないのにエク...
-
エクセルマクロ 数式【VLOOKUP...
-
MATLABでcsvファイルを読み込も...
-
VBAで集計元のファイル名を取得...
-
エクセルでハイパーリンクが貼...
-
Excel2000でフォルダを移動する...
-
複数エクセルファイルのレコー...
-
PhotoshopでExcelのファイルが...
-
エクセル保存後に別のブックの...
-
エクセル(Excel)で別ファイルと...
-
EXCELで関数が使えなくなった?
-
エクセルでファイル名やシート...
-
ファイル内にある数字の出現回...
おすすめ情報