|
うまくいかないことがあります。
フォームにコマンドボタンを配置(終了処理)し、下記のマクロを割り当てています。
終了する際、上書きして終了するか否かメッセージボックスが表示るように作りました。
「はい」を選ぶと上書きして終了しますが、「いいえ」を選ぶとエクセルのファイルを保存するか否かのメッセージが出てきてしまいます。保存しないで終了する場合、メッセージを出さずに勝手に終了させたいのですが、どうすればいいのでしょうか。
ソースは下記の通りです。
Sub ファイル保存test()
Dim savenm As String
savenm = ThisWorkbook.Path & "\" & ThisWorkbook.Name
If chk_上書き(savenm) = True Then
Application.DisplayAlerts = False
' ↑を入れて強制的に上書き
ThisWorkbook.SaveAs savenm, FileFormat:=xlNormal, Password:="test", WriteResPassword:="",ReadOnlyRecommended:=False, CreateBackup:=True
Application.DisplayAlerts = True
Application.Quit
Else
Application.DisplayAlerts = False
Application.Quit
End If
Application.DisplayAlerts = True
frmトップページ.Caption = "トップページ"
End Sub
'=============================================================
Function chk_上書き(flnm As String) As Boolean
chk_上書き = True
If Dir(flnm) <> "" Then
ans = MsgBox(flnm & " は既に存在します。上書きしますか?", vbYesNo)
If ans = 6 Then
chk_上書き = True
Else
chk_上書き = False
End If
End If
End Function
|
|