• ベストアンサー

エクセルの×ボタンを消したい

Wendy02の回答

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 本来は、「×ボタン」機能だけを取ればよいはずなのですが……。 '<ThisWorkbook モジュール> Dim OptionValue As Boolean Private Sub Workbook_BeforeClose(Cancel As Boolean) If OptionValue = False Then   Cancel = True End If End Sub Sub KeyMacro_for_Quit() 'こちらのマクロを実行しないと終われない。  OptionValue = False End Sub もちろん、ボタン自体を消す方法は、ある程度VBAをやってきている人なら分ることですが、以下は、あまり好まれません。なお、「EnableFalse」「EnableTrue」が、実行ファイルです。 '<以下を全て標準モジュールに登録してください> Private Declare Function GetSystemMenu Lib "user32.dll" ( _    ByVal hWnd As Long, _    ByVal bRevert As Long) As Long Private Declare Function DeleteMenu Lib "user32.dll" ( _    ByVal hMenu As Long, _    ByVal nPosition As Long, _    ByVal wFlags As Long) As Long Private Declare Function DrawMenuBar Lib "user32.dll" ( _    ByVal hWnd As Long) As Long Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _    ByVal lpClassName As String, _    ByVal lpWindowName As String) As Long Private Const SC_CLOSE As Long = &HF060& Private Const MF_BYCOMMAND As Long = &H0& Private Sub CloseButtonEnabled(Swich As Boolean)  Dim hWnd As Long  Dim hMenu As Long  Dim rc As Long  '"XLMAIN" Excelのクラス名  'XL 2000 用  hWnd = FindWindow("XLMAIN", Application.Caption)  'XL 2002 用は、以下でも可能  'Application.Hwnd  If Swich Then  hMenu = GetSystemMenu(hWnd, 1&)  Else  hMenu = GetSystemMenu(hWnd, 0&)  rc = DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)  End If  rc = DrawMenuBar(hWnd) End Sub '---------------------------------- '実行ファイル Sub EnableFalse() '×をEnable Falseに Call CloseButtonEnabled(False) End Sub Sub EnableTrue() '×をEnable Trueに Call CloseButtonEnabled(True) End Sub '---------------------------------- 必要あって質問されているとは思いますが、当然のことですが、Application自体を終了させるためのプロシージャが作れないと、結果的にはトラブルの元になりますので、ご注意ください。簡単なロジックの問題なのですが、慣れないと分らなくなることがあります。 なお、私は、仮に終了ボタンをどこかに置いても、右上の終了×ボタンを殺したりしません。そういうブックの作成にめぐり合わないだけかもしれませんが。

関連するQ&A

  • エクセル2003 「レ」表示できるラジオボタン(オプションボタン)

    WindowsXPのエクセル2003で「レ」表示できるラジオボタン(オプションボタン)が欲しいのですが、どのように作ればよいでしょうか?(VBAとか) もしくは、もともとエクセルにあるチェックボックスをラジオボタンのように、どちらか一方しか選べないようにできる方法はあるのでしょうか? よろしくお願い致します。

  • ボタンの表示が突然おかしくなりました

    PCはWindows98です。 突然、ウィンドウの 右上終了ボタンX →9 右上最大化ボタン□ →1 右上最小化ボタン_ →0 左スクロールボタン← →3 右スクロールボタン→ →4 上スクロールボタン↑ →5 下スクロールボタン↓ →6 になってしまいました。 又、チェックボタンも綺麗に表示されなくなっています。 他は、今の所おかしくはなっていません。 最近何かをインストールしたという事は無いのですが。 悪い状態になっていく前兆でしょうか。 原因・対策等ご存知の方いらっしゃるでしょうか?

  • Excel ボタンが小さくなる

    Excel ボタンが小さくなる Excel 2000にて作成したファイルをExcel 2010にて更新して、 Excel2000形式にて保存して使用しています。 一部の人が、「ボタンが小さくなる」ことがあるようなので、 どのようか事が考えられるのでしょうか? Excelファイルは、ボタンを使用して、VBAにて処理を行っています。 また、シートには保護をしています。 ※自分で試したが、体験できませんでした。使用者にインタービューしてもわかりませんでした なにか、ヒントをお願いします 投稿日時 - 2011-03-10 14:18:51

  • エクセルでコマンドボタンを押すと指定のセルの色を変える

    エクセルでA1セルにコマンドボタンを作り、そのコマンドボタンを押すと下のA2とA3セルが塗りつぶされるようにしたいのですが、VBAを使うのでしょうか??

  • エクセルで→ボタンを押しても・・。

    タイトルどおりなのですが、 エクセルで→ボタンを押すと普段でしたら、 セルが右に移動するのですが、 今日は画面が右に移るだけで セルは移動しません。 再起動しても直らないのですが、 どうしたら直るのでしょうか。 よろしくお願いします。

  • エクセルのvbyesnoのはい、いいえのボタン

    エクセルのVBAで、vbyesnoボタンのはい、いいえの表示をyes、noの表示にすることは可能でしょうか?

  • エクセル 終了ボタンがなくなってしまいました

    エクセルを1回のクリックで終了させるボタン(右上 赤色の×印)が消えてしまい,メニューの「ファイル」「終了」をクリックしないと終了しません。 1回のクリックでエクセルを終了させる「×印」ボタンを表示する方法を教えてください。

  • Excel VBA ボタンを非アクティブにするには

    Excel VBAにおいて、sheet上に製作したコマンドボタンを表示したり、非表示にしたりするコードはわかるのですが。ツールバーに作成したボタンを表示したり、非表示にしたりするコードがわかりません。ご存知でしたら御教授下さい。よろしくお願いします

  • エクセル フォームの ボタンがすぐにはへこまないのはなぜ?

    エクセルですが フォームよりボタンを作成しVBAにリンクを張りました。 ボタンを押すと処理は正常に実行~完了されるのですが ボタンを押す際 ・押しながら少しドラッグする ・1秒ほど押し続ける のどちらかでないとボタンがへこんでくれません。 なぜなのでしょう? どうすればすぐ反応してへこんでくれるのでしょうか? 単に動きが重いわけではありません。 Office Excel 2003 (11.8169.8172) SP3

  • Excel2003 コマンドボタンのプロパティ

    Excel2003 の vba の初心者です。 (Access2003 の vba の方が得意です。) 既に出来上がっているExcelのvbaを編集したいのですが、 コマンドボタンのプロパティが表示できません。 Accessであれば、コマンドボタンを選択して右クリックするとプロパティがあります。 しかし、Excelでは、コントロールツールボックスでデザインモードを押下し、 コマンドボタンを選択してコントロールツールボックスのプロパティを押下しても、 プロパティの一番上のプルダウンの所は「Sheet1 Worksheet」となっていて、 ▼を押下しても、他には何もありません。 どうも、Worksheetのプロパティが表示されているようです。 コマンドボタンのプロパティを表示させるには、どうすればよいのでしょうか。 基本的なことでお恥ずかしいですが、 ご教授いただければ幸いです。 よろしくお願いいたします。