• ベストアンサー

Excelのマクロのショートカットキーを一覧で取得する方法

Excelのマクロのショートカットキーを一覧で取得する方法 Office2003のExcelでマクロを利用しているのですが、 場当たり的にマクロをショートカットキーに対応させてきたために、 自分でも管理できず、収拾がつかなくなってしまいました。 一つ一つマクロのオプションを見ることが確実なのでしょうが、 手間がかかってしまいます。 自分で登録したマクロのショートカットキーを一覧で取得する方法はないでしょうか?

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 昔、作ったマクロで、古典的なコードです。現在は、あまり推奨されるようなコードの内容ではありませんが、良かったら試してみてください。 ツール-マクロ-セキュリティを  Visual Basic プロジェクトへのアクセスを信頼する にチェックしていただいてから、以下のマクロを実行してください。 Debug.Print に出す場合は、該当部分のブロックを外してください。 今後、ショートカットを設ける場合は、Application.OnKey で設定して管理したほうが楽だと思います。 '------------------------------------------- Sub GetShortCutKeys() '現在の設定は、自ブックに限る Dim DefPath As String Dim FNo As Integer Dim LineBuf As String Dim i As Integer Dim buf() As String Dim bufName As String Dim bufKeyName As String Dim vbc As Object Const AT1 As String = "Attribute " Const AT2 As String = "VB_Invoke_Func =" Const TMPF As String = "Temp1.bas" DefPath = ThisWorkbook.Path & "\"  With ThisWorkbook.VBProject  For Each vbc In .VBComponents  .VBComponents(vbc.Name).Export Filename:=DefPath & TMPF  FNo = FreeFile()  Open DefPath & TMPF For Input As #FNo  While Not EOF(FNo)   Line Input #FNo, LineBuf   If InStr(1, LineBuf, "Sub", vbTextCompare) = 1 Then    bufName = Mid$(LineBuf, InStr(LineBuf, "Sub") + 4)   End If   If InStr(LineBuf, AT1) = 1 And InStr(LineBuf, AT2) > 0 Then    ReDim Preserve buf(i)    bufKeyName = " : Ctrl + " & Mid$(LineBuf, InStrRev(LineBuf, "=") + 3, 1)    buf(i) = bufName & bufKeyName '配列出力        'Debug.Printへ"    'Debug.Print bufName; bufKeyName       i = i + 1    bufName = ""   End If   LineBuf = ""  Wend  Close #FNo  Kill DefPath & TMPF  Next  End With  MsgBox Join(buf, vbCrLf) End Sub

Ajedony
質問者

お礼

返信が遅くなってしまい、すみません。 教えていただいた方法で一覧を取得することができました。 作業時間の短縮になり、助かりました。 ちなみに、「Visual Basic プロジェクトへのアクセスを信頼する」へのチェックを行わずに、教えていただいたマクロを実行したところ、「プログラミングによるVisual Basic プロジェクトへのアクセスは信頼性に欠けます」とのメッセージが出ました。 Wendy02さんがおっしゃられたように、セキュリティ的に気をつける必要があるようです。 今後は、教えていただいたApplication.OnKeyというものを調べて使いたいと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのショートカットキー

    エクセルで、貼り付けは『Ctrl + v』ですが、値だけを貼り付けしたいので、マクロの“新しいマクロの登録”を使って、値の貼り付けのマクロと、ショートカットキーを割り当てているのですが、マクロを登録したBookが開かれていない場合、使えなかったりして不便に感じています。エクセルを開いた段階で、値の貼り付けのショートカットキーが使えるようにしたいのですが、可能でしょうか? もし可能であれば、やり方を教えて頂ければありがたいです。 よろしくお願い致します。

  • エクセル マクロ ショートカットキーの割当

    エクセル(Ver2000)で簡単なマクロを作って、マクロ/オプションからショートカットキーでIを割当てました。(自動的にCtrl+Shift+Iが設定される) しかし、Ctrl+Shift+Iを押しても実行されません。 そのほかの方法(メニューから実行、マクロボタンから実行など)では、問題なく実行されます。 何か他に設定があるのでしょうか。

  • VBAエクセル2003でのマクロの実行について

    VBAで2003を使っています。 マクロの実行をショートカットキーで操作したいのですが ツール→マクロ→オプションでショートカットキーの作成が可能ですが 会社(エクセル2003)のでやろうとすると オプションの表示がありません。 (もしかしたら2003ではないのかもしれませんが、確認した範囲では 2003かと思われます。2010とかいいのではないのは確かです。) ショートカットキーを作る方法でどのような方法が 他にありますか?教えてください。 お願いいたします。

  • EXCELのショートカットキー

    EXCELのマクロにショートカットキーを設定したのですが、設定を解除する方法がわかりません。

  • マクロを簡単に呼び出す方法

    EXCELで作成したマクロを簡単に呼び出してクリック選択するような方法は無いですか ? 普通、マクロを呼び出すには、   開発>マクロからマクロの選択画面から     マクロ名 をクリック(選択)して実行です。 オプションでショートカットに割り付ける事もできますが、  ショートカットキーを忘れてしまうこともあります。 又、 Windows上で元々Ctrlと合わせて  ショートカットが割り振られている文字を選ぶとその機能が使えなくなります。 ----------------- イメージでは、  一つだけショートカットを登録(割り振って)   マクロ選択画面が出現するよう事ができないでしょうか ? 他の方でも簡単にマクロ画面が呼び出せる方法があれば教えて下さい。 ワークシートにマクロボタンを作成する方法は、選択肢から除いてください。

  • Word2010でマクロをショートカットキーに

    Word2010でマクロをショートカットキーに割り当てたいのですが その方法が分かりません。 2003や2007だとマクロの設定のところで コマンドの設定はできたはずなのですが、そのような設定箇所が見あたりません。 http://office.microsoft.com/ja-jp/word-help/HA010370106.aspx 上記のURLを参考にして、 「ショートカット キーを割り当てる」 を表示させた後に、実行してみたのですが、 なぜか自分で作成したマクロが表示されません。 いったいどうすればよいでしょうか?

  • エクセル マクロ 数式の貼り付け

    マクロは初心者ですが、マクロを利用して数式を貼り付けたいです。 苦戦して自分の考えたマクロ、失敗します。 ex A3に入っている数式(=A1+A2)を、適当に選択したセルに、マクロを利用して貼り付けたいです。 ショートカットキーを登録するマクロの方法ではなく、コードだけで登録する方法があればご教授お願いしたいのですが、↓のコードの何が間違っているのでしょうか? Range("A3").Copy Selection.PasteSpecial Paste:=xlFormulas 宜しくお願いします。

  • エクセルのマクロについてお尋ねします。

    エクセルのマクロについてお尋ねします。 あるフォルダの中のエクセルファイル名一覧を取得して、ユーザーがそれを複数選択し そのファイルを選択したものだけ複数自動取り込みたいのですが、ファイル一覧の取得はできそうなのですが、その先どうしたらいいでしょうか?

  • ショートカットキーについて

    100円ショップにて、ショートカットキーの一覧が記載されているマウスパッドを購入しました。 スキルアップ?のためにも取得したいと思いマウスパッドを見ながらやってみたのですが、上手くいかないというか、何と言うか・・・・ 「Ctrt」+「N]=ファイルの新規作成 と書かれているのでその通りキーを押したのですが、何も起こらず・・・ 多分、ショートカットキーを押す前にショートカットキーが作用する状況にしなければいけないと自分なりに解釈したのですが、その方法がわかりません。 ショートカットキーを押して作用するようにするにはどのようにすればよろしいのでしょうか? ネットで検索してみましたら、マウスパッド同様、ショートカットキーの一覧を多く見つけることが出来たのですが、それが作用する環境までは、おそらくあまりに初歩的過ぎるの、記載されていませんでした。 教えて頂けないでしょうか?宜しくお願い致します。

  • ショートカットキーを修正したいです

    Word 2013です。 5つのショートカットキーを自分で作成してあります。 ショートカットキーを作成したコマンドは、5つとも、「キーボードのユーザー設定」の「コマンド」欄にデフォルトであるものばかりです。マクロを組んだものはありません。 (1) この5つのショートカットキーを修正するにはどうしたらいいでしょうか。 (2) ショートカットキーを登録したのが少し前のことで、どれを使って登録したのか覚えていません。 どのコマンドがショートカットキーを登録したコマンドなのかを知る簡単な方法がないでしょうか。「キーボードのユーザー設定」の「コマンド」欄でカーソルを動かして1つずつ確認するしかないのでしょうか。

専門家に質問してみよう