質問: excel マクロ 閉じるボタン 閉じるボタンを無効化させたいです。 ユーザーフォームのではなくブック?ウィンドウ?のやつです。 シート上のコマンドボタンより閉じるようにし、 上書き保存をさせないようにしたいです。 ×ボタンで閉じてもよろしいのですが、保存云々の表示が出ないようにし、 できるだけマクロの記述は少なくしたいです。(既に結構重めなので...) 一番したいことは上書きをさせないようにしたいです。 回答よろしくお願いします。
回答: すんごいテキトーに書くと、 【module1】 private pcloseflag as boolean public sub resetcloseflag() pcloseflag = false end sub public function getcloseflag() as boolean getcloseflag = pcloseflag end function private sub setcloseflag(value as boolean) pcloseflag = value end sub sub ボタン1_click() call setcloseflag(true) end sub 【thisworkbook】 private sub workbook_beforeclose(cancel as boolean) if module1.getcloseflag() then exit sub end if cancel = true call module1.resetcloseflag end sub とかしとけばいいのでは。 保存をどうのこうの制御したいなら、beforesave()でできますね。 private sub workbook_beforesave(byval saveasui as boolean, cancel as boolean) cancel = true end sub 組み合わせて使えばどうとでもなりそうな気がします。