
エクセル2000をベースにマクロ(VBA)を使って、ある技術計算をさせています。
セルに計算の元になるデータを手入力するのですが、
最終的には、その元になるデータをテキストファイルとして保存させているのですが、保存先に同じファイル名(エクセルの方ではなく、テキストファイル)があっても強制的に上書きされてしまいます。
同じ名前が合った場合は、上書き保存確認のダイアログを表示させたいのですが、どのようにすればよいでしょうか?
保存するのは、入力したデータのテキストのみで、エクセルのファイルは保存しません。
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
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.1
- 回答日時:
どのようにテキストファイルを保存しているのかにもよるのだが、例えば昔なつかしOpenやCloseを使っているのなら、Dir関数でも使って先にファイルがあるかどうか調べて、あったら自前でダイアログを出してやればよいのではないかな。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
エクセル文書を保存したらメモ...
-
いきなりPDFでPDFファイルを開...
-
Excel画面の自動更新 Excelファ...
-
エクセルを開いた時に強制的に...
-
メール添付されているファイル...
-
Illustratorファイルに読み取り...
-
エクセルで作った書類の作成者...
-
マクロでエクセルをメール送信...
-
エクセルで保存しますか?のメ...
-
パワーポイントをエクセルファ...
-
エクセルで「500時間」を「何日...
-
メモ帳で開く設定を元に戻したい。
-
EXCELで上書き保存しないと反映...
-
【スプレドシート】IMPORTRANGE...
-
エクセルで複数のブックで「元...
-
2つのエクセルファイルをデュ...
-
エクセルを開いたときのシート
-
エクセルのカメラ機能を、700個...
-
エクセルでファイルを閉じても...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
いきなりPDFでPDFファイルを開...
-
エクセル文書を保存したらメモ...
-
メール添付されているファイル...
-
Excel画面の自動更新 Excelファ...
-
エクセルでCSVファイルとして保...
-
メールソフト「サンダーバード...
-
Illustratorファイルに読み取り...
-
エクセル 更新していないのに...
-
excelとCSVについて質問です! ...
-
開いてるファイル(エクセル等)...
-
ピボットテーブルの更新ができない
-
EXCELで同一名のファイルがある...
-
エクセルがwindows終了時に未保...
-
エクセル表のCSV化ができない
-
エクセルでVBAを使用して1分毎...
-
エクセル2016 上書き保存が出来...
-
Excelのデーターが一瞬で消えた。
-
エクセルを開いた時に強制的に...
-
エクセル2007で互換モードで上...
おすすめ情報