
下記「シートの右クリックメニュー追加」+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
No.2ベストアンサー
- 回答日時:
>PERSONAL.XLSのThisWorkbookにAddinstallイベントプロシージャーで下記のように記述しましたが
PERSONAL.XLSに記述するのではなく新たに新規ブックで作成します。
'ThisWorkbookモジュールに
Private Sub Workbook_Open()
With Application.CommandBars("Cell").Controls.Add(Temporary:=True)
.Caption = "AAA"
.OnAction = "BBB"
.BeginGroup = True
End With
End Sub
'標準モジュールに
Sub BBB()
'○×△・・・
End Sub
このブックをアドインファイルとして保存する
メニューから[ファイル]-[名前を付けて保存]-[ファイルの種類]-Microsoft Excel アドイン(*.xla)を選択しファイル名を入力して保存
つぎに作成したアドインを使えるようにします。
メニューから[ツール]-[アドイン]-で使えるアドインの一覧が出ますので先ほど保存したアドインにチェックを入れて[OK]
これで使えるはずです。
回答有難うございます。
処理は少し勘違いしていましたが、ご指摘の通りで実現出来ました。
アドインへ組み込みについて、丁寧に説明して頂き重ねてお礼申し上げます。
なお、(Temporary:=True)は、どんな意味があるのか教えて貰えないでしょうか。(無くても同じように動作します。)
No.3
- 回答日時:
>、(Temporary:=True)は、どんな意味があるのか教えて貰えないでしょうか。
(無くても同じように動作します。)コマンドバーなど作成した場合、Excelを閉じてもコマンドバーは登録されたまま残ります。
次にExcelを起動した時、Workbook_Openイベントで新たに作成され二重に登録されることになります。
引数TemporaryにTrueを指定するとブックを閉じる時に自動的に削除されます
>(無くても同じように動作します。)
今回のメニュー項目の追加はExcelを閉じると残らないようですね
二重に登録されることがなければ引数Temporaryは必要ありません
重ねての回答有難うございました。
Addinstallイベントに組み込んだので、同じ動作だったのだと思います。
色々と教えて頂き、お礼申し上げます。
No.1
- 回答日時:
とりあえず下記のようにすればエラーは出なくなります。
やりたいことがこれで実現できるかは不明です。
[ ThisWorkbook ]
Private Sub Workbook_AddinInstall()
With Application.CommandBars("Cell").Controls.Add
.Caption = "AAA(メニューの表示文字)"
.OnAction = "BBB(実行するマクロ名)"
.BeginGroup = True
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
VB2010でExcelの行をコピーして...
-
フォルダ内の全ブックのシート...
-
すでに開いているブックのマク...
-
【ExcelVBA】指定の書式で、マ...
-
エクセルVBA Workbook変数に変...
-
EXCELマクロでxlsとxlsxを開く方法
-
コマンドボタンでマクロを起動...
-
エクセル2007で、Application.R...
-
エクセルのマクロについて教え...
-
excelマクロ、任意セルの値で名...
-
マクロでログ抽出し、日付ごと...
-
複数のデータ系列の線の太さを...
-
VBAを一度起動するとずっと出て...
-
エクセルでツールバーに「縮小...
-
昨日まで動いていたエクセルの...
-
Excelマクロ ファイル名が変わ...
-
外部データを取り込むマクロ
-
マクロを消すマクロは不可能?
-
VBA[Private Sub]のコードをシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
フォルダ内の全ブックのシート...
-
エクセルVBA Workbook変数に変...
-
VB2010でExcelの行をコピーして...
-
フォルダ内の全ブックのシート...
-
【ExcelVBA】指定の書式で、マ...
-
EXCELマクロでxlsとxlsxを開く方法
-
excelマクロ、任意セルの値で名...
-
【Excel VBA】ブックを複数開い...
-
すでに開いているブックのマク...
-
フォルダ内の全てのBookに同じ...
-
VBA セル入力された日付データ...
-
VBAでEXCELのワークシートを削...
-
VBA、Excelのworkbook.open に...
-
Excel VBAを後ろで動かす方法
-
[Excel VBA] フォルダ内の複数...
-
EXCEL VBA起動時の処理
-
excelでハイパーリンク 別ブッ...
-
エクセルVBAでブックを開くと処...
-
他のBookのユーザー定義関数を使う
おすすめ情報