- ベストアンサー
【VBAユーザーフォームで閉じるボタンを表示したくない】
ユーザーフォームの右上閉じるボタン(×)を表示しない方法が見当たりません。 どなたかご存知の方、ご教授願います。 開発言語:Excel2000VBA OS:Windows2000
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは、じゃんぬねっと です。 API 使っても消せないかなぁ。 DeleteMenu で、システムメニューから「閉じる」を消すだけですから。
その他の回答 (1)
- ta123
- ベストアンサー率51% (95/186)
回答No.1
おそらく×ボタンを非表示にする方法はないと思います。 当該ユーザフォームのイベントプロシージャ UserForm_QueryCloseを使って処理をキャンセルする代替方法があります。 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) 'ユーザフォームの×ボタンが押された場合 If CloseMode = vbFormControlMenu Then '処理をキャンセルする Cancel = True End If End Sub ※MsgBoxでクローズできないメッセージを表示するのが親切かもしれません。
質問者
お礼
早速の回答をありがとうございます。 VBでは×ボタン表示を制御できたので、VBAでもできるのかなと思っていました。 それらしきプロパティも見当たらなかったので、やはりイベントで拾って動作制御する方法しかないのですね。
お礼
じゃんぬねっとさん、回答ありがとうございます。 DeleteMenu(API)で要件どおり実装することができました。 http://www.asahi-net.or.jp/~ei7m-wkt/apitest2.htm どうもありがとうございました。