« 祝 ブログ2年目に突入!! | トップページ | 右クリックメニューへのマクロ登録方法(修正・追記) »

2009年7月22日 (水)

右クリックメニューへのマクロ登録方法

右クリックへのマクロの登録を自動で行うものです。

後日修正しました。以下のコードでは、不都合がありますので、ご注意ください。修正版はこちら

今までは、ユーザー設定のツールバーから行っておりましたが、以下のプログラムをマクロが入ったテンプレートに記載すると、テンプレートが起動されたときに自動で右クリックメニューを追加してくれます。

ユーザー設定から登録した右クリックメニューが思うように表示されない場合があったので、いろいろと探しているうちにこの方法にたどりつきました。

参考図書は、仕事に役立つExcel VBAとできる大辞典 Excel VBAの2冊です(こちらで紹介しています)。

これらからヒントを得て、ワードVBAのヘルプメニューで探しました。

Googlesearch3_2

下に記載したプログラムで、文書中のテキスト表示画面で右クリックをした場合に現れるメニューへ登録ができます。(10行で指定しています)

以下の場合では、表にカーソルがあったときの右クリックメニューには反映されません。

必要であれば、別途登録が必要になります。

以下は、現在作成中の右クリックでグーグル検索の改良版に使われるコードです。

OnActionで、対応するマクロが動きます。

190行で区切り線を引いています。

区切り線があると、イメージで示したように、見栄えが少し良くなります。

Sub AutoExec()

10    With Application.CommandBars("text")
20        .Reset
         
30        With .Controls.Add(Type:=msoControlButton, Before:=4)
40            .Caption = "Google詳細検索..."
50            .OnAction = "vct_Google_詳細検索"
60        End With
         
70        With .Controls.Add(Type:=msoControlButton, Before:=5)
80            .Caption = "グーグル検索"
90            .OnAction = "vct_グーグル検索"
100       End With
         
110       With .Controls.Add(Type:=msoControlButton, Before:=6)
120           .Caption = "グーグル検索_フレーズ"
130           .OnAction = "vct_グーグル検索_フレーズ"
140       End With
         
150       With .Controls.Add(Type:=msoControlButton, Before:=7)
160           .Caption = "グーグル検索_ワイルドカード"
170           .OnAction = "vct_グーグル検索_ワイルドカード"
180       End With
         
          '区切り線を引く
190       .Controls("Google詳細検索...").BeginGroup = True

200   End With

End Sub

|

« 祝 ブログ2年目に突入!! | トップページ | 右クリックメニューへのマクロ登録方法(修正・追記) »

マクロプログラム」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/519619/45713254

この記事へのトラックバック一覧です: 右クリックメニューへのマクロ登録方法:

« 祝 ブログ2年目に突入!! | トップページ | 右クリックメニューへのマクロ登録方法(修正・追記) »