- ベストアンサー
EXCEL VBAアドイン:シートの右クリックメニューへの追加方法その2
下記「シートの右クリックメニュー追加」+BBBマクロをアドインへ組み込み、皆さんへ配布して、自動的に右クリックメニューに組み込んでBBBマクロを動作させたいのですが、やり方を教えて下さい。 PERSONAL.XLSのThisWorkbookにAddinstallイベントプロシージャーで下記のように記述しましたがエラーが出ます。 どのように修正すれば良いか、教えて下さい。 また、やり方はこれでOKでしょうか。 なお、標準モジュールに登録して実行すると動きます。 宜しく、お願いします。 「エラー内容」 実行時エラー’91’ オブジェクト変数またはWithプロック変数が設定されていません。 Sub シートの右クリックメニュー追加() With CommandBars("Cell").Controls.Add .Caption = "AAA(メニューの表示文字)" .OnAction = "BBB(実行するマクロ名)" .BeginGroup = True End With End Sub
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- watabe007
- ベストアンサー率62% (476/760)
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
関連するQ&A
- EXCEL VBA:シートの右クリックメニューへの追加方法
(1)EXCEL VBAで、シートの右クリックメニューへの追加方法が下記の通り、ある本に載っていたので試してみましたが、うまく動作しません。 どこが間違っているか教えて下さい。 Sub シートの右クリックメニュー追加() With CommandBars("Ply").Controls.Add .Caption = "AAA(メニューの表示文字)" .OnAction = "BBB(実行するマクロ名)" .BeginGroup = True End With End Sub (2)上記「シートの右クリックメニュー追加」+BBBマクロをアドインへ組み込み、皆さんへ配布して、右クリックメニューで動作させたいのですが、やり方を教えて下さい。 宜しく、お願いします。
- ベストアンサー
- Visual Basic
- EXCELで右クリックメニューの追加
EXCELで右クリックメニューを追加するにあたり、以下のコードをネットで取得しました。 右クリックメニューを階層化してさらに、いくつか選べるようにするにはどうしたら良いのでしょうか? ------------------------------------------------------------- Dim Newb Set Newb = Application.CommandBars("Cell").Controls.Add() With Newb .Caption = "コマンド" .OnAction = "Sample_cmd" .BeginGroup = False End With Sub Sample_cmd() MsgBox Now End Sub ------------------------------------------------------------- 判る方お願いします。
- ベストアンサー
- その他(プログラミング・開発)
- EXCEL VBA でマクロが作動するシートとしないシートがある。
右クリックのショートカットメニューに作成したマクロを追加しました。その追加マクロを実行しても右クリックのショートカットに追加されないシートがあります。同じbookでもその他のシートでは、右クリックのショートカットメニューに追加されているものもあります。 なぜでしょうか? できないのは、右クリックのショートカットの表示です。目的の動作(下記の場合は、フォントの色を変える)は、どのシートでも作動します。 ちなみにプロシージャーは次のように書いています。PERSONAL.XLSに登録してあります。 宜しくお願いします。 'セルの右クリックショートカットメニューを作成 Sub 色々右クリック() 赤みぎクリック 黒みぎクリック 青みぎクリック End Sub Sub 赤みぎクリック() Dim Newb Set Newb = Application.CommandBars("Cell").Controls.Add() With Newb .Caption = "赤" .OnAction = "赤フォント" .BeginGroup = False End With End Sub Sub 赤フォント() Selection.Font.ColorIndex = 3 End Sub Sub 黒みぎクリック() Dim Newb Set Newb = Application.CommandBars("Cell").Controls.Add() With Newb .Caption = "黒" .OnAction = "黒フォント" .BeginGroup = False End With End Sub Sub 黒フォント() Selection.Font.ColorIndex = 1 End Sub Sub 青みぎクリック() Dim Newb Set Newb = Application.CommandBars("Cell").Controls.Add() With Newb .Caption = "青" .OnAction = "青フォント" .BeginGroup = False End With End Sub Sub 青フォント() Selection.Font.ColorIndex = 5 End Sub Sub Reset_RightClick() Dim rightBar As CommandBar Application.CommandBars("cell").Reset End Sub
- 締切済み
- その他MS Office製品
- Excelで追加した右クリックメニューが動かない
Windows Vista Excel2007です。 Sheet1に、次のようにVBAでプログラミングしたのですが、 '------------------------------------------------------------------------------- Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Application.CommandBars("Cell").Reset With Application.CommandBars("Cell").Controls.Add() .Caption = "テスト" .OnAction = "test" End With End Sub Public Sub test() MsgBox "OK" End Sub '------------------------------------------------------------------------------- 右クリックメニューには追加できたのですが、その「テスト」メニューをクリックすると、 次のようなエラーダイアログが表示されます。 「マクロ'Book1!test'を実行できません。このブックでマクロが使用できないか、 またはすべてのマクロが無効になっている可能性があります。」 セキュリティセンターは「すべてのマクロを有効にする」に設定しており、他のマクロは正常に動作します。 どうしてエラーになるのか全く分かりません。 どなたか原因をご存知の方、ご教示をお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルアドインから独自メニュー追加
簡単なマクロを作成し、 エクセルアドインとして追加し、 何らかのcsvファイルを開いた際に メニュー中の「アドイン」をクリックすると メニューコマンド欄に○○というメニューを作成し それを選択し△△というメニューを表示させ それをクリックすることで、 アドインとして追加したマクロを実行できるようにしたいと 考えています。 この場合 メニューに追加するプログラムを どこかで実行する必要があるかと思うのですが、 何処で実行するように組み込めばいいでしょうか? いままでは エクセルマクロ自体で開いたときに 上記の質問内容の様にメニューが作成されるように 作成したことはありますが、 (このときはThisworkbookに記述しました) 今回何らかのファイルを開いた際に、 マクロがメニューから実行できるように したいので、 アドオンとして追加してメニュー追加するようにしたいと 考えています。 よろしくお願いします。
- 締切済み
- その他(プログラミング・開発)
- 【Excel VBA】右クリックメニュー
Excel2003を使用しています。 マクロで追加された右クリックのメニュー(項目)を削除したいのですが、どのようにすればいいでしょうか?そのマクロを削除するだけでは、右クリックの項目は削除されないのでしょうか? 実際、マクロを削除したのですが、右クリックメニューには追加された項目はそのまま残っています。その項目をクリックすると、当然のことながら、マクロが見つかりませんと表示されます。 ファイルをコピーしたりもしたせいか、同じ項目が複数表示されていて、表示される項目が余計多くなり、右クリックメニューが長くなってしまって、使い辛くなってしまいました。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBA アドイン
今,下記のプログラムを組みメニューバーに登録しユーザフォームを実行させようとしています. Private Sub workbook_addininstall() Dim Menubar As CommandBar Set Menubar = Application.CommandBars.Add(Name:="グラフ作成ツール") With Menubar.Controls.Add(Type:=msoControlButton) '1 .FaceId = 23 .Style = msoButtonIconAndCaption .TooltipText = "グラフ作成ツール" .OnAction = ThisWorkbook.Name & "!UserForm_open" End With Menubar.Visible = True MsgBox "「グラフ作成ツール」ツールバーがインストールされました。", vbOKOnly End Sub 標準モジュールに Sub UseForm_open() graph.Show End Sub として実行させようとすると,下記のようなエラーが返ってきて実行できませんでした. マクロ''グラフ作成ツール.xla'!UserForm'を実行できません。 このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。 どうすれば実行できますでしょうか?ご指導ご鞭撻のほどよろしくお願いいたします.
- ベストアンサー
- Visual Basic
- Excell2010VBAmacro互換性
マイクロソフトオフィス2010EXCELマクロについて質問させてください。 VBAマクロでマウス右クリック時にポップアップメニューを出し、 自作マクロを呼び出すようにしました。動作している。 このマクロを別PCのオフィス2013で動作させると、 マクロ内部ではポップアップメニューを作成動作している ようです(デバッグで通っていること確認)ようですが、 EXCEL画面上にはメニューが表示されません。 サンプルマクロは下記参照。 非互換または設定漏れがあるのでしょうか? サンプルマクロ Sheet1 --------------------------------------- Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Application.CommandBars("Cell").Reset '右クリックメニューを初期設定に戻す Call set_RightMenu '右メニュー登録 End Sub Module1 --------------------------------------- Sub reset_RightMenu() ' '右クリックメニューを初期化 ' Application.CommandBars("Cell").Reset End Sub Public Sub set_RightMenu() ' ' 右クリックメニューを設定する ' Call reset_RightMenu '右クリックメニュー初期化 With Application.CommandBars("Cell") _ .Controls.Add() .BeginGroup = True .Caption = "menu0" .FaceId = 682 .OnAction = "menu0" End With With Application.CommandBars("Cell") _ .Controls.Add(Type:=msoControlPopup) .BeginGroup = True .Caption = "SubMenu" With .Controls.Add(Type:=msoControlButton) .Caption = "menu1" .FaceId = 931 .OnAction = "menu1" End With With .Controls.Add(Type:=msoControlButton) .Caption = "menu2" .FaceId = 931 .OnAction = "menu2" End With End With End Sub Sub menu0 MsgBox "****** Menu 0 *******" End Sub Sub menu1 MsgBox "****** Menu 1 *******" End Sub Sub menu2 MsgBox "****** Menu 2 *******" End Sub
- 締切済み
- インターネットビジネス
- 右クリックメニューに
右クリックメニューにスクロールロック2回+↑ というコマンドを実行するメニューを追加したいのですが、 そのようなことができるツールってあるでしょうか? またはデスクトップアイコンのダブルクリックで実行、などでもよいのですが・・・ 右クリックのメニューもソフトによって変わりますけど、 デスクトップ上の右クリックでよいのですが・・・
- 締切済み
- Windows XP
- エクセルVBAでシート追加
初めて質問します。 VBAで新しいシートを追加する時 同名のシート等があるとエラーになります。 追加するときシート名をチェックしたいのですが どの様にすれば良いでしょうか? また、シートは一番最後に追加したいです。 よろしくお願いします。 Sub Macro1() x = InputBox("シート名") Worksheets.Add.Name = x End Sub
- ベストアンサー
- オフィス系ソフト
- ワードの文章などA4モノクロを印刷するのに数分かかってしまっています。カラーだともっと時間かかります。
- 購入してから10ヶ月程度です。購入当初から半年ほどは今よりすごく印刷が早かったです。
- Windows10で無線LAN接続しています。関連するソフトはOfficeなどありません。
お礼
回答有難うございます。 処理は少し勘違いしていましたが、ご指摘の通りで実現出来ました。 アドインへ組み込みについて、丁寧に説明して頂き重ねてお礼申し上げます。 なお、(Temporary:=True)は、どんな意味があるのか教えて貰えないでしょうか。(無くても同じように動作します。)