アドインで追加したツールバーのコマンドボタンの制限方法について
- ExcelのVBAで作成したプログラムにアドインで追加したツールバーのコマンドボタンをユーザーが修正や削除することを制限する方法について教えてください。
- フリーソフトなどを見ると、コマンドボタンが変更されても再立ち上げすると元の状態に戻るようですが、それを実現する方法を知りたいです。
- 配布やメンテナンスを考慮して、障害の可能性を最小限に抑えたいので、経験のある方にアドバイスをお願いします。
- ベストアンサー
アドインで追加したツールバーのコマンドボタンを消せなくするには。
経験あるかた宜しくお願い致します。 excelのVBAでプログラム作りまして、ツールバーへ新たにコマンドボタンを追加してマクロ登録しました。 これをアドインで機能追加を行い使うようにしています。 だた、ユーザーが使用中にコマンドボタンの修正・削除を行うことが可能となっています。 フリーソフトなどを見ますと、ボタンの変更がされても、再立ち上げすると元の状態に戻っているようです。 変更・削除は可能としても、再立ち上げで、もとのメニューコマンドの状態にしたく思っています。 ユーザー配布や後々のメンテを考えると、できるだけ障害に成り得る事象は、解消しておきたいと思っています。 ご経験のある方いらっしゃれば宜しくお願い致します。
- tosi0000
- お礼率87% (142/162)
- オフィス系ソフト
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
そのコマンドバーは手作業で作成して回ったのですか?・・・(^_^;; VBAが書けるのならCommandBarもVBAで作れますよ。 私が作ったxlaファイルのサンプルです。 xlaファイルのThisWorkbookモジュールに記述します。 ただし、見易さを考慮して各行先頭の空白は全角スペースにしています。 ポイントは以下の2点。 ・コマンドバーを作成するときに「Temporary:=True」を指定する。 これにより、コマンドバーがユーザーのPCに作成されず、Excelを閉じると削除されます。 ・ThisWorkbookを閉じるときにコマンドバーを削除する。 これによりアドインのチェックを外した瞬間にコマンドバーも削除されます。 ----------------------------------- Option Explicit Private Const cmstrBAR_NAME As String = "テストバー" ' *********************************************** ' ブック起動 コマンドバーを作成する。 ' *********************************************** Private Sub Workbook_Open() Dim myCmdBar As CommandBar Dim myCmdBarBtn As CommandBarButton If CmdBarExis = False Then Set myCmdBar = Application.CommandBars.Add(Name:=cmstrBAR_NAME, Temporary:=True) Set myCmdBarBtn = myCmdBar.Controls.Add(Type:=msoControlButton) With myCmdBarBtn .Caption = "入力" .DescriptionText = "入力用フォームを表示する" .TooltipText = "入力用フォームを表示します" .Style = msoButtonCaption .OnAction = "ShowEntryForm" End With Set myCmdBarBtn = myCmdBar.Controls.Add(Type:=msoControlButton) With myCmdBarBtn .Caption = "集計" .DescriptionText = "月度集計を開始する" .TooltipText = "今月の集計を開始します" .Style = msoButtonCaption .OnAction = "LetCalc" End With myCmdBar.Visible = True Set myCmdBarBtn = Nothing Set myCmdBar = Nothing End If End Sub ' *********************************************** ' ブックを閉じる コマンドバーを削除する ' *********************************************** Private Sub Workbook_BeforeClose(Cancel As Boolean) If CmdBarExis = True Then Application.CommandBars(cmstrBAR_NAME).Delete End If End Sub ' *********************************************** ' ブック アクティブ時 コマンドバーを表示する ' *********************************************** Private Sub Workbook_Activate() If CmdBarExis = True Then Application.CommandBars(cmstrBAR_NAME).Enabled = True Application.CommandBars(cmstrBAR_NAME).Visible = True End If End Sub ' *********************************************** ' コマンドバーを隠す ' *********************************************** Private Sub Workbook_Deactivate() If CmdBarExis = True Then Application.CommandBars(cmstrBAR_NAME).Enabled = False Application.CommandBars(cmstrBAR_NAME).Visible = False End If End Sub ' *********************************************** ' このアドインで作成したCommandBarがすでに ' 存在するかチェックする。 ' 戻り: 存在する = True, 存在しない = False ' *********************************************** Private Function CmdBarExis() As Boolean Dim Bar As CommandBar For Each Bar In Application.CommandBars If Bar.Name = cmstrBAR_NAME Then CmdBarExis = True Exit Function End If Next Bar End Function -----------------------------------
関連するQ&A
- WORD_ツールバーに独自のコマンドボタンを追加
WORDを使用していて、割に印刷範囲が「現在のページ」を使うことがあるのでツールバーにボタンを追加したいのですが、ユーザー設定のコマンドの中に「現在のページを印刷」らしきものが見当たりません。 独自に「現在のページを印刷」できるコマンドボタンの作り方をご存じの方は是非とも教えてください。
- ベストアンサー
- オフィス系ソフト
- IEのツールバーにボタンを追加
http://nacelle.info/customize/08014.php を参考にレジストリを編集してボタンを追加することが出来ました。 でも、そのままでは表示されず「ユーザー設定」で追加したボタンを指定してあげる必要がありました。(もちろんIEは再立ち上げ) IEのツールバーにボタンを追加するプログラムを作りたいのですが、登録したボタンを自動で表示させる方法は無いものでしょうか。
- 締切済み
- CSS
- ユーザ-設定のコマンドの削除・追加が使えなくなった。
こんにちは。 はじめて質問させて頂きます。 Win2000・EXCEL2000を使用していますが、先日、修理をした際に再インストールをしたのですが、業者の人に「今のツールバーの設定を残しておくことはできませんか?」とお願いしたところ、それ以降ツールバーのコマンドの追加・削除等が全くできなくなりました。コマンドボタンへのマクロの再登録ももちろんできません。いったんは追加・削除等できるのですが、設定が反映されないので、新たに立ち上げるとまた前の状態のままです。ツールバーのリセットをやればまたユーザー設定(コマンド)が反映されるようになるのでしょうか?リセットをしてツールバーが初期の状態になって、今のようにコマンドの追加・削除等ができないままだと今以上に使いづらいので、リセットをためらっています。 この状態をぬけれる方法がありましたら是非教えて下さい。宜しく御願いいたします。
- ベストアンサー
- Windows NT・2000
- ツールバーのコマンド復元!
いつもお世話になります。 [ユーザー設定]で[ツールバー]を選択後、[コマンド]でツールの追加・削除をし 使い勝手を良くしますよね。 一度削除してしまったコマンドは、初期化しても[ツールーバー]からは除かれて しまっています。これを元に戻す方法を教えて下さい! 具体例を挙げますと[図形描写]にある[図形の調整]を除いて使用していました。 やっぱり[図形の調整]もツールバーに加えよう!と思い、[図形描写]の 表示・非表示を設定しましたが[図形の設定]を除いたものしか、バーには表示 されません(;_;) [コマンド]より設定するのではなく、各[ツールバー]を初期状態に戻す方法を 教えて下さい。 ちなみに、[ユーザー設定]→[オプション]で『初期状態に戻す』や [ユーザー設定]→[ツールバー]で『リセット』をしても私が求めている 状態にはなりませんでした。
- ベストアンサー
- オフィス系ソフト
- Microsoft Word 2003のツールバーにコマンド追加ができません。
WindowsXpでMicrosoftWord 2003を使用しています。メニュー→ツール→ユーザー設定→コマンドから上付き文字などのコマンドをツールバーに追加する際、そのときは追加出来ても、一度Wordを終了してしまうと、ツールバーの変更が記憶されず、元に戻ってしまいます。知人に”Normal.dot"というファイルを一度ゴミ箱に捨てたらよいといわれましたが、検索してもNormal.dotというファイルが見つかりません。解決法を御存知の方が居られましたら、お教え下さい。よろしくお願い申し上げます。
- ベストアンサー
- オフィス系ソフト
- アドインファイルの作り方
マクロを作成して、人に配ろうかと考えています。ツールバーにコマンド追加してマクロを登録しました。ユーザー設定で、ツールバーの添付で保存(xls)して、別にアドインファイル(xla)で保存しました。別のパソコンにアドインすると、Personal.xlsにマクロが見つかりません。って出てきます。自分のパソコンにもどって、アドインし、コマンドを実行すると、元のxlsファイルが自動的に読み込まれて、実行できてしまいます。ユーザー設定を開きマクロの登録を見てみると、元のxlsファイルが関連付けられてしまっています。(因みに、マクロは、Private としています。 どうにか?アドインファイルだけで完結したいのですが、どのようにすればいいのでしょうか?教えてください。宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- WORD2007のリボンにコマンドを追加したい
WORD2007を使い始めました。 始めたばかりのため、質問上各バーの名称がちがっていたらすいません。 以前のバージョンまでは、使いたいコマンドボタンをユーザー設定のようなダイアログボックスからドラッグをして追加していました。 この操作を、WORD2007のグループごとのリボンの場所にユーザー設定でコマンド追加はできますか? WORDのオプションのユーザー設定を開いたのですが、[クイックアクセスツールバー]には追加&削除できるようでしたが、各グループごとへの追加方法がみつかりませんでした。 ほか、WORD2007を急きょ利用しなければいけなくなり、数点質問させていただいてます。 よろしくお願いします
- ベストアンサー
- オフィス系ソフト
- Excelのコマンドボタンに、ツールバーに既存の機能を定義したい
Excelのユーザフォームに定義したコマンドボタン押下で、ツールバーにあるオートシェイプの直線ボタン押下状態にしたいのです。すなわち、コマンドボタンで直線を描線できる状態にしたいのです。 どうすればよいでしょうか? ご教授ください。泪
- 締切済み
- Visual Basic
- 自作Excelアドインの登録/削除コマンド
こんばんは。 ExcelアドインをVisualStudio2015で自作しました。 VisualStudio2015が自動で登録してくれるようでデバッグ実行では何もしなくてもExcelに自作アドインが表示されます。 これを配布する場合にバッチコマンドで登録/削除したいのですが、コマンドが分かりません。 自作Excelアドインの登録/削除コマンドはあるのでしようか? Excelの開発タブを有効にして行う方法は使用者に手間が増えてしまうので使用したくありません。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Thunderbirdで追加したアドインを削除する方法
掲題の通り、 「Thunderbirdで追加したアドインを削除する方法」 Thunderbirdで追加したアドインを削除したいのですが、方法がわかりません。ご存知の方、申し訳ありませんがご教示お願い致します。 削除したいアドインは、webmailのアドインです。
- ベストアンサー
- その他(ITシステム運用・管理)
お礼
有り難う御座います。 早速試したいと思います。
補足
テストしました。 goodです。 補足ですが、ボタンにイメージ図を表示させようと思っています。FaceIdを使うつもりですが、ちょっと行き詰まって再度OKWEBに質問を出しました。 有り難う御座いました。