右クリックのショートカットメニューの追加

解決済みの質問

右クリックのショートカットメニューの追加

WORDやexcelの右クリックのショートカットメニューは便利な機能ですが、そこに自分で機能を追加するにはどのような操作をすればよいのでしょうか。
例えば、右クリックのショートカットメニューでプリンタを印刷を表示追加する。

投稿日時 - 2002-06-03 12:26:21

QNo.284188

すぐに回答ほしいです

質問者が選んだベストアンサー

●Wordで文字で右クリックしたら、印刷メニューが出るようにします。
 右クリックの対象はたくさんあるので『文字で右クリック』はほんの一例です。

ツール
 →ユーザー設定→ツールバータブをクリック
 →ツールバーの窓でショートカットメニューにチェック。

 →ユーザー設定→コマンドタブをクリック
 →分類でファイルを選択→コマンドで『印刷』を表示しておく。

 →ショートカットメニューダイアログでテキストをクリック
 →テキストをクリック→ショートカットダイアログが表示される。
 →ユーザー設定ダイアログの『印刷』をショートカットダイアログにドラッグ&ドロップ

削除は、最後でメニューの外に出します。


●Excelについてです。ExcelにはWordのような機能はないようです。
 Excelシートの機能を使っての方法は思いつきませんでした。

右クリックに追加できるようにコードを書いてみました。とりあえず下に追加してみました。
印刷ダイアログの表示、印刷プレビューを右クリックから表示できるようにしてあります。

この方法なら、自分の作ったマクロで、よく使うものを登録する事ができます。
『Add_RightClick』で追加、『Reset_RightClick』で元に戻します。
自分で使うなら、自動実行マクロで、立ち上げ時に設定、終了時に元に戻すようにするかもしれません。


ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入し、そのコードウインドウに下記コードをコピーして貼りつけます。
シートに戻り、ツール→マクロ→マクロで『Add_RightClick』を実行すれば、追加されます。
ツール→マクロ→マクロで『Reset_RightClick』を実行すれば、元に戻ります。

ご参考に。(Word98、Excel97で確認済み)

'右クリックに自分のメニューを追加する
Sub Add_RightClick()
  Dim rightBar As CommandBar '右クリックのダイアログ
  Dim i% 'メニューのカウンタ

  Application.CommandBars("cell").Reset '初期状態に戻す
  Set rightBar = CommandBars("cell")

  'メニューに追加(印刷ダイアログ)
  i = rightBar.Controls.Count + 1
  With rightBar
    .Controls.Add Type:=msoControlButton
    .Controls(i).Caption = "印刷" '表示文字
    .Controls(i).OnAction = "myMacro_PrintOut" '対応するマクロ
    .Controls(i).FaceId = 4 '左に表示するアイコン
    .Controls(i).BeginGroup = True '初期状態との間に分離線を引く
  End With
  'メニューに追加(印刷プレビュー)
  i = rightBar.Controls.Count + 1
  With rightBar
    .Controls.Add Type:=msoControlButton
    .Controls(i).Caption = "印刷プレビュー" '表示文字
    .Controls(i).OnAction = "myMacro_PrintPreview" '対応するマクロ
    .Controls(i).FaceId = 109 '左に表示するアイコン
  End With
End Sub

'印刷ダイアログを表示(例)
Sub myMacro_PrintOut()
  Application.Dialogs(xlDialogPrint).Show
End Sub

'印刷プレビュー画面を表示(例)
Sub myMacro_PrintPreview()
  ActiveWindow.SelectedSheets.PrintPreview
End Sub

'右クリックを元に戻す
Sub Reset_RightClick()
  Dim rightBar As CommandBar
  Application.CommandBars("cell").Reset
End Sub

投稿日時 - 2002-06-03 18:41:11

お礼

力作どうもありがとうございました。
エクセルについてこんなことまでできるなんて
プロのかたの回答はさすがだなと思いました。適用してみます。

投稿日時 - 2002-06-06 05:54:54

ANo.1

0人が「このQ&Aが役に立った」と投票しています

あわせてチェックしたい
  • Wordで右クリックメニューの追加方法 ...
  • Excel-VBA ショートカットメニュー追加 ...
  • EXCELで右クリックメニューの追加 ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら