プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (2件)

メニューバーと標準ツールバー、書式ツールバーを消す。


下記で適当に’を外してください。
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.h …に載せられています。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/09/08 17:49

imogasiさんの回答の通りですが、初心者が使うと怖いコマンドがあるので補足します。



~.Visible = Falseというのは、文字通り「表示をしない」という意味なので普通にツールバーの表示で元に戻す(表示)することができます。
Application.CommandBars("Standard").Visible = False
(「標準」ツールバーを非表示にしなさいの意)

ところが、
~.Enabled = False というのは単なる非表示ではなく、「使用できなくする」という意味で、しかも元に戻すにはVBAで戻さないといけません。

ですから、このマクロを実行するときは必ず、
~.Enabled = Trueというマクロもセットで作っておかないと大変なことになります。

私は初め知らずに実行してしまい、しばらく直せずに再インストール寸前まで行った経験があります。

確か、普通のツールバーは.Visible で非表示にできますが、メニューバーだけは.Visibleではできないので、.Enabled 命令を使ったと思います。
その後、怖いので試していませんが・・・。
では、気を付けて頑張って下さい。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/09/08 17:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!