• ベストアンサー

入力者にメニューバーや終了ボタンを使わせない方法?

エクセルのVBAで入力プログラムを作っています。入力者には数字の入力とリストボックス・ボタンだけで操作をさせたいと思うのですが、メニューバー・ツールバー・終了ボタンを使わせない方法があれば教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

メニューバーと標準ツールバー、書式ツールバーを消す。 下記で適当に’を外してください。 Sub test01() ' Application.CommandBars("worksheet Menu bar").Enabled = False 'メニューバー非表示 ' Application.CommandBars("worksheet Menu bar").Enabled = True 'メニューバー表示 ' Application.CommandBars("Standard").Visible = False '標準ツールバー非表示 ' Application.CommandBars("Standard").Visible = True '標準ツールバー表示 ' Application.CommandBars("formatting").Visible = True '書式ツールバー表示 ' Application.CommandBars("formatting").Visible = False '書式ツールバー非表示 End Sub コッマンドバー一覧は例えば http://plaza14.mbn.or.jp/~sunago/cmdid/cmdid00.htmlに載せられています。

noname#4213
質問者

お礼

実は初めての質問でした。こんなに早く的確な回答を頂けて、感激です。色々、マニュアルを調べたつもりでしたが、初心者の悲しさで、「きっとできないんだろうな」と簡単にあきらめていました。このコーナーもすごいし、imogasiさんにも感謝します。ありがとうございました。

その他の回答 (1)

回答No.2

imogasiさんの回答の通りですが、初心者が使うと怖いコマンドがあるので補足します。 ~.Visible = Falseというのは、文字通り「表示をしない」という意味なので普通にツールバーの表示で元に戻す(表示)することができます。 Application.CommandBars("Standard").Visible = False (「標準」ツールバーを非表示にしなさいの意) ところが、 ~.Enabled = False というのは単なる非表示ではなく、「使用できなくする」という意味で、しかも元に戻すにはVBAで戻さないといけません。 ですから、このマクロを実行するときは必ず、 ~.Enabled = Trueというマクロもセットで作っておかないと大変なことになります。 私は初め知らずに実行してしまい、しばらく直せずに再インストール寸前まで行った経験があります。 確か、普通のツールバーは.Visible で非表示にできますが、メニューバーだけは.Visibleではできないので、.Enabled 命令を使ったと思います。 その後、怖いので試していませんが・・・。 では、気を付けて頑張って下さい。

noname#4213
質問者

お礼

メニューバーを消すのはいいけど、VBAのエディターを呼び出せないと困るなあと思っていたら、tamagawa49さんの回答で助かりました。VBAのエディターを開いた状態で実行して、書き直せば良いのですね。初心者につき、基本が分からなくて・・・。勉強になります。ありがとうございました。

関連するQ&A