- ベストアンサー
「shift」ボタンが押された時。
Excel2000のVBAをしています。 既に作成しているマクロを「右クリックメニュー」に登録しようと思ってます。その上で二つ質問があります。 処理したい内容(1) 「shift」ボタンが押しっぱなしの時に「右クリックメニュー」に自作コマンドが表示されている様にし、「shift」ボタンが押されてない時は、Excelの通常の「右クリックメニュー」を表示する方法を教えて頂きたいです。 処理したい内容(2) 現在把握している「右クリックメニュー」に登録するソースは、 With Application.CommandBars("CELL").Controls.Add(Before:=1) .Caption = "mymenu(A)" .OnAction = "syori" なんですが、Excelを「改ページプレビュー」にした場合、登録したコマンドが表示されなくなってしまいます。通常でもプレビューでも使用出来るようにしたいので教えて頂きたいと思っています。 複数の質問ですが、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- shiftキーを押しながらコマンドボタンをクリックについて。
shiftキーを押しながらコマンドボタンをクリックについて。 普通にコマンドボタン(<input type="button")をクリックした場合と、 shiftキーを押しながらコマンドボタンをクリックした場合の処理を分けたいのですが、 そういうことは可能なのでしょうか。 キーインの判断の方法が分かりません。 ご存知の方がおられましたらご教授願えませんでしょうか。 よろしくお願いします。 javascriptというより、htmlのカテゴリーかもしれませんが・・・ 。
- ベストアンサー
- JavaScript
- ExcelVBA AddinでOnAction
ツールバーにボタンを作って、そのボタンをクリックしたら OnActionプロパティ で指定したマクロを実行するというワークブックを作りアドイン化しました。 以下、アドインのマクロ。 ThisWorkbookに Private Sub Workbook_Open() ' ツールバーを削除 On Error Resume Next Application.CommandBars("MyMenu1").Delete On Error GoTo 0 With Application.CommandBars.Add(Name:="MyMenu1") .Visible = True .Position = msoBarBottom .RowIndex = 1 .Controls.Add (msoControlButton) With .Controls.Item(1) .Caption = "test1" .OnAction = "a" .FaceId = 59 End With End With End Sub 標準モジュールに Public Sub a() MsgBox "アドイン" End Sub としました。 これでこのアドインをExcelに登録すれば、どのファイルを開いた時でも ツールバーのボタンをクリックすれば、アドインのマクロが実行されます。 が、上記OnActionに記述したのと同じ名前のサブルーチンが、 今アクティブになっているワークブックにあった場合には、アドイン側の サブルーチンではなく、ワークブック側のが実行されてしまいます。 色々検索した結果、 OnActionの指定を「.OnAction = Thiswokbook.FullName & "!a"」とすればよい という記述を目にし、その通りにしましたが効果ありませんでした。 なお、Excel2000または2003で起きました。2010では通常にアドイン側のサブルーチンが 起動しています。 取りあえず、誰もつけそうにない名前をアドイン側のサブルーチンにつけていますが、 これしか手立てはないものでしょうか?
- 締切済み
- その他MS Office製品
- EXCEL コマンドボタン
説明が解りにくかったらごめんなさい。 Excelでよくコマンドボタンを作成してマクロを割り当てて使っていました。そのときはカーソルが指マークになって、右クリックするとメニューの中に「マクロの登録」があったのですが、突然、特別なことをした覚えはないのですが、右クリックしたメニューの中から「マクロの登録」は消え、ダブルクリックをするとvisual Basic editorのデザインが現れます。フォームのコマンドボタンから作っているのですが、オブジェクトがちょっと以前と変わってきているような感じです。 基本的には一緒なのですが、以前の方が使いやすく、戻したいのですがどのようにしたらよいでしょうか?
- ベストアンサー
- オフィス系ソフト
- シフトなしで「コマンドウィンドウをここで開く」?
お世話になります。 Windows 7で(Vistaからそうだったらしい)、フォルダーアイコンをShiftを押下しながら右クリックすると「コマンドウィンドウをここで開く」というメニュー項目が追加され、選択すると、コマンドプロンプトウィンドウが開いて、そのフォルダーにcdしてくれますが、このShiftを押した状態をデフォルトにする(Shiftなしで右クリックだけでこのメニュー項目が出るようにする)ことはできるでしょうか。 レジストリ上等です! よろしくお願いします。
- ベストアンサー
- Windows 7
- 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 ------------------------------------------------------------- 判る方お願いします。
- ベストアンサー
- その他(プログラミング・開発)
- PPTのコマンドボタンがクリックできません
今日は、質問させて頂きます。どうぞよろしくお願いいたします。 環境:Win7 + PPT2007 でございます。 コントロールのテキストボックスとコマンドボタンを配置致しましたが、 テキストボックス内に記入できる状態にできません。 (コマンドボタンも押せる状態にできません。。。) Excelですと、コマンドボタンの場合 ・コマンドボタン右クリック ・→マクロ登録 としてやると、コマンドボタンを押せる状態になると思います。 また、テキストボックスの場合 ・「デザインモード」ボタンを解除 してやると、テキストボックス内に記入できる状態になると思います。 しかしPPT2007の右クリックメニューにマクロ登録項目がございません。 そこで、 ・コマンドボタンをダブルクリック ・→Private Sub CommandButton1_Click()を作成 といたしましたが、それでもまだコマンドボタンを押せる状態になってくれません。 「デザインモード」ボタンも見当たりませんし。。。 これらを使える状態にするには、どのようにすべきでございましょうか??? もしお詳しい方がいらっしゃいましたら、どうぞよろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- エクセル2007で自前のツールバーを作る方法
エクセル2000です。 以下のマクロで自前の新しいツールバーが作れ、作動します。 ところがエクセル2007ではうんともすんとも言ってくれません。 エクセル2007で使う場合はどのようにしたらよいでしょうか? ユーザーフォームで似たようなものを作る方法はわかるのですが、できれば以下の方法を使いたいのです。 Sub 三択メニュー() On Error Resume Next Application.CommandBars("選択します").Delete On Error GoTo 0 Application.CommandBars.Add Name:="選択します", Position:=msoBarFloating With Application.CommandBars("選択します") .Visible = True .Controls.Add Type:=msoControlButton With .Controls(1) .Style = msoButtonCaption .Caption = "⇒メニュー1 " .OnAction = "Msg_1" End With .Controls.Add Type:=msoControlButton With .Controls(2) .Style = msoButtonCaption .Caption = "⇒メニュー2 " .OnAction = "Msg_2" End With .Controls.Add Type:=msoControlButton With .Controls(3) .Style = msoButtonCaption .Caption = "⇒メニュー3 " .OnAction = "Msg_3" End With End With End Sub Sub Msg_1() Application.CommandBars("選択します").Delete MsgBox "追加コマンド1を処理しました。" End Sub Sub Msg_2() Application.CommandBars("選択します").Delete MsgBox "追加コマンド2を処理しました。" End Sub Sub Msg_3() Application.CommandBars("選択します").Delete MsgBox "追加コマンド3を処理しました。" End Sub
- ベストアンサー
- その他MS Office製品
- 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
- 締切済み
- インターネットビジネス
- 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
- エクセルVBA アドイン メニューの作成方法
OS:windowsXP HomeEdition ソフト:Excel2003 アドインを作成し配布したいのですが、xla形式で保存しエクセル上でアドインさせ、 作成したメニューからテスト起動させてみると、アドインの元のファイル(拡張子xls)が 展開してしまいます。展開させずにアドインプロシージャを起動させたいのですが 何が原因か調べてもわかりませんでした。知っている方、ご助言御願い致します。 以下に、私の作成したマクロを記述します。 マクロ解説HPで勉強しつつ作成致しました。 ~~~~~~~~~~~~~~~~~~~~~~~~~ <ThisWorkBookへの記述> Dim mySubMenu As CommandBarControl Sub MakeSubMenu() Dim myMenu As CommandBar Dim cmdSubMenu As CommandBarControl 'すでにサブメニューがあれば削除する DelSubMenu Set myMenu = Application.CommandBars("worksheet Menu Bar") Set mySubMenu = myMenu.Controls.Add(Type:=msoControlPopup) mySubMenu.Caption = "メニュー" Set cmdSubMenu = myMenu.Controls("メニュー").Controls.Add(Type:=msoControlButton) cmdSubMenu.Caption = "コマンド1" 'サブメニューでコマンド1を選択したとき cmd1() を呼び出す cmdSubMenu.OnAction = "cmd1" Set cmdSubMenu = myMenu.Controls("メニュー").Controls.Add(Type:=msoControlButton) cmdSubMenu.Caption = "コマンド2" 'サブメニューでコマンド2を選択したとき cmd2() を呼び出す cmdSubMenu.OnAction = "cmd2" End Sub Sub DelSubMenu() 'メニューバーのサブメニューを削除する On Error Resume Next mySubMenu.Delete End Sub <標準モジュールへの記述> Private Sub cmd1() MsgBox "コマンド1を選択しました" End Sub Private Sub cmd2() MsgBox "コマンド2を選択しました" End Sub ~~~~~~~~~~~~~~~~~~~~~~~ 尚、マクロは簡略化し、のせております。 よろしく御願い致します。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございます。 「処理したい内容(1)」のサンプルソースにおける >For i = 1 To 3 >Set CT = CB.Controls.Add(msoControlButton) >CT.Caption = "ボタン" & i >Next i の部分を、 Set CT = CB.Controls.Add(msoControlButton) With CT .Caption = "mymenu(A)" .OnAction = "syori" End With に変更する事によって動作しました。(とても感動!!!!) 「処理したい内容(2)」についても親切な解説ありがとうございました。