• ベストアンサー

マクロに割付られているショートカットの取得方法

マクロに割付られているショートカットを取得する方法を教えて下さい。 マクロにショートカットを動的に割当てるのは下記方法ですが Application.MacroOptions Macro:="Macro1", ShortcutKey:="a" 既に割り当て済みのショートカットはどのように取得するのでしょうか? 目的: 沢山のショートカットを使うのですが、キーボードが限られているので、使用場面に応じて割当てるショートカットグループを変更しようと思っています。 それで、立ち上げ時にショートカットに何が割り当てられているか表示させる為です。 よろしくお願い申し上げます。

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

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

こんばんは。Wendy02です。 >エラー個所:With ThisWorkbook.VBProject >実行時エラー'1004' >「プログラミングによるVisual Basicプロジェクトへの信頼性に欠けます」 それは、ツール-マクロ-セキュリティ-信頼できる発行元 □Visual Basic プロジェクトへのアクセスを信頼する。 にチェック(レ)を入れてください。

believe_me
質問者

お礼

実行できました。 プロパティを見るものばかりと思っていましたが、こう言った方法もあるのですね。 今回はショートカットが定義されているかどうかを調べるのが目的でしたが、これを使えば何が定義されているかも分かりますね。 詳細なご説明、ありがとうございました。

その他の回答 (1)

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

こんばんは。 これは、あくまでも、マクロ-オプションからショートカットを設定したものに対してのみ検索できます。 Sub GetShortCutKeys() 'v.2659901_01 '現在の設定は、自ブックに限る 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 bufName; bufKeyName    'Debug.Printへ"    i = i + 1    bufName = ""   End If   LineBuf = ""  Wend  Close #FNo  Kill DefPath & TMPF  Next  End With  MsgBox Join(buf, vbCrLf)   End Sub

believe_me
質問者

お礼

回答ありがとうございます。 実行すると下記エラーがでますがどうしてでしょうか? エラー個所:With ThisWorkbook.VBProject 実行時エラー'1004' 「プログラミングによるVisual Basicプロジェクトへの信頼性に欠けます」

関連するQ&A