|
ひろ さん、こんばんわ。
>保存先にすでに同一名称のファイルがある場合、置き換えるか尋ねられます。
>ここで、[いいえ]または[キャンセル]をクリックすると、"実行時エラー1004"が
>再発してしまいます。どのように対処すればいいのでしょうか?
Dir関数で既存ファイルかどうかをチェックして分岐してみました。
Sub TEST()
Dim fn、Ofile As String
fn = InputBox("翌月分ファイル名は既定の場所に保存されます。", "翌月分の新規作成・保存", Worksheets("勤務表").Range("K5") & Format(DateAdd("m", 1, vvvDate), "yyyymm"))
'戻り値が""でない場合は保存する
If fn = "" Then
MsgBox "キャンセル", vbExclamation, "ファイル指定"
Else
'ファイル名
Ofile = ThisWorkbook.Path & "\" & fn & ".xls"
'
If Dir(Ofile) = "" Then
'名前をつけて保存
ThisWorkbook.SaveAs Filename:=Ofile
Else
If MsgBox(Ofile, vbOKCancel + vbExclamation, "上書きしますか?") = vbOK Then
'アラート出さない
Application.DisplayAlerts = False
'名前をつけて保存
ThisWorkbook.SaveAs Filename:=Ofile
'戻す
Application.DisplayAlerts = True
Else
MsgBox "キャンセル", vbExclamation, "上書き"
End If
End If
End If
End Sub
こんな感じです。
|
|