エクセル2000をベースにマクロ(VBA)を使って、ある技術計算をさせています。
セルに計算の元になるデータを手入力するのですが、
最終的には、その元になるデータをテキストファイルとして保存させているのですが、保存先に同じファイル名(エクセルの方ではなく、テキストファイル)があっても強制的に上書きされてしまいます。
同じ名前が合った場合は、上書き保存確認のダイアログを表示させたいのですが、どのようにすればよいでしょうか?
保存するのは、入力したデータのテキストのみで、エクセルのファイルは保存しません。
No.1
- 回答日時:
どのようにテキストファイルを保存しているのかにもよるのだが、例えば昔なつかしOpenやCloseを使っているのなら、Dir関数でも使って先にファイルがあるかどうか調べて、あったら自前でダイアログを出してやればよいのではないかな。
No.2
- 回答日時:
(1)あるところに載っていた例です。
If (Dir("c:\3-" & Fname & ".XLS")) = "" Then '同名ファイルのチェック
ActiveWorkbook.SaveAs Filename:="C:\3-" & Fname
Else
MsgBox Fname & " と同名ファイルがあります", vbExclamation
End If
DIR関数を使います。
ファイル名と拡張子xlsをCSVなどに変えてください。
(2)ファイル保存のダイアログもありますが。
Sub test02()
Application.Dialogs(xlDialogSaveAs).Show
End Sub
でも同名の確認は出ます。
(3)
Sub test01()
ActiveWorkbook.SaveAs "aaa14.xls"
End Sub
を実行しても、同名のファイルがあると確認メッセージが出ます。
これらではだめでしょうか。
No.3ベストアンサー
- 回答日時:
FileSystemObjectを使った例です。
Option Explicit
Public Sub TEST()
MsgBox checkAllowOverwrite("\a.txt")
End Sub
Public Function checkAllowOverwrite(ByVal fileName As String) As Boolean
Dim oFS
Dim r As VbMsgBoxResult
Set oFS = CreateObject("Scripting.FileSystemObject")
If oFS.FileExists(fileName) Then
Dim msg As String
msg = fileName & "は存在します。" & Chr(13)
msg = msg & "上書きしますか?" & Chr(13) & Chr(13)
r = MsgBox(msg, vbYesNo, "上書き確認")
If r = vbYes Then
checkAllowOverwrite = True
Else
checkAllowOverwrite = False
End If
Else
checkAllowOverwrite = True
End If
Set oFS = Nothing
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
EXCELデータ保存時にメッセージを表示させたい。
Access(アクセス)
-
VBAを使って、上書き保存の再確認メッセージを出したい。
Visual Basic(VBA)
-
エクセルで
Excel(エクセル)
-
-
4
エクセルを閉じる時に保存メッセージを表示させずに保存しないで閉じるには
Excel(エクセル)
-
5
「上書き保存」で一度警告を出す方法
Excel(エクセル)
-
6
ExcelのVBAで上書き保存を確認したい
Visual Basic(VBA)
-
7
エクセル終了時の保存確認メッセージが出ない
Excel(エクセル)
-
8
エクセルVBA ブックを閉じる前に確認メッセージを表示したい
Excel(エクセル)
-
9
エクセルを保存し終了する際にメッセージを入れたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel画面の自動更新 Excelファ...
-
エクセルを上書き保存したのに...
-
エクセルでCSVファイルとして保...
-
エクセル文書を保存したらメモ...
-
マクロ VBA ファイル名を連番...
-
メール添付されているファイル...
-
エクセル表のCSV化ができない
-
GetSaveAsFilenameでフォルダを...
-
エクセル 上書きしていないの...
-
ピボットテーブルの更新ができない
-
セルの塗りつぶしの色を好きな...
-
エクセルがwindows終了時に未保...
-
Excelの読み取り専用について質...
-
Excel2019とOneDriveでのサイン...
-
拡張子の替え方について教えて...
-
エクセルでVBAを使用して1分毎...
-
マクロVBA特定フォルダーに次々...
-
複数のブックを上書き保存する...
-
エクセルのマクロについて教え...
-
いきなりPDFでPDFファイルを開...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
エクセル文書を保存したらメモ...
-
いきなりPDFでPDFファイルを開...
-
メール添付されているファイル...
-
エクセルでVBAを使用して1分毎...
-
マクロ VBA ファイル名を連番...
-
Excel画面の自動更新 Excelファ...
-
ピボットテーブルの更新ができない
-
開いてるファイル(エクセル等)...
-
エクセル・マクロ(VBA)で、指定...
-
OneDriveに保存したファイルは...
-
エクセルでCSVファイルとして保...
-
Illustratorファイルに読み取り...
-
「名前を付けて保存」ができな...
-
エクセルで保存の前に固まって...
-
エクセル表のCSV化ができない
-
csvファイルを上書き保存でカン...
-
マクロVBA特定フォルダーに次々...
-
「変更を保存しますか?」と聞...
-
エクセル 更新していないのに...
おすすめ情報