Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8298 / 13644 ツリー ←次へ | 前へ→

【34074】閉じるボタンを無効にしたい。 あさか 06/1/25(水) 22:53 質問[未読]
【34075】Re:閉じるボタンを無効にしたい。 ichinose 06/1/25(水) 23:33 発言[未読]
【34143】Re:閉じるボタンを無効にしたい。 あさか 06/1/27(金) 11:47 お礼[未読]

【34074】閉じるボタンを無効にしたい。
質問  あさか  - 06/1/25(水) 22:53 -

引用なし
パスワード
   エクセルの右上にある_□×ボタンで終了できないようにし、
新たに新設するボタンで必ず上書き保存でしか終了できないようにしたいのです。
下記のような記述では成功しませんでした。
どこをどのように記述すれば良いのでしょうか?
よろしくお願い致します。

ThisWorkbookに下記の記述
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  
  Cancel = 1

End Sub

標準モジュールに下記の記述
Sub 終了()

  タイトル = "終了"
  メッセージ = "終了しますか?"
  スタイル = vbYesNo + vbQuestion
  YESNO = MsgBox(メッセージ, スタイル, タイトル)
  If YESNO = vbYes Then
  
  ActiveWorkbook.Save
  Application.Quit

End If

End Sub

【34075】Re:閉じるボタンを無効にしたい。
発言  ichinose  - 06/1/25(水) 23:33 -

引用なし
パスワード
   ▼あさか さん:
こんばんは。

以下のコードを記述する前に一度名前を付けて保存されているとして

>エクセルの右上にある_□×ボタンで終了できないようにし、
>新たに新設するボタンで必ず上書き保存でしか終了できないようにしたいのです。
>下記のような記述では成功しませんでした。
>どこをどのように記述すれば良いのでしょうか?
>よろしくお願い致します。
>
ThisWorkbookに


'=================================================================
Public cls_sv_ok As Boolean
'=================================================================
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Cancel = Not cls_sv_ok
End Sub
'=================================================================
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  SaveAsUI = False
  Cancel = Not cls_sv_ok
End Sub

'Notにしたのは初期値がfalseだからです。


標準モジュールに下記の記述
>Sub 終了()
>
>  タイトル = "終了"
>  メッセージ = "終了しますか?"
>  スタイル = vbYesNo + vbQuestion
>  YESNO = MsgBox(メッセージ, スタイル, タイトル)
>  If YESNO = vbYes Then
    With ThisWorkbook
      .cls_sv_ok = True
      .Save
      End With
    Application.Quit
    End If
>
>End Sub

【34143】Re:閉じるボタンを無効にしたい。
お礼  あさか  - 06/1/27(金) 11:47 -

引用なし
パスワード
   ichinose さん

出来ました。ありがとうございます。

8298 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free