
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
返信が遅くなってしまい、すみません。
教えていただいた方法で一覧を取得することができました。
作業時間の短縮になり、助かりました。
ちなみに、「Visual Basic プロジェクトへのアクセスを信頼する」へのチェックを行わずに、教えていただいたマクロを実行したところ、「プログラミングによるVisual Basic プロジェクトへのアクセスは信頼性に欠けます」とのメッセージが出ました。
Wendy02さんがおっしゃられたように、セキュリティ的に気をつける必要があるようです。
今後は、教えていただいたApplication.OnKeyというものを調べて使いたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(実行時エラー5852)Excelデータ...
-
Word文書に必須入力項目を設けたい
-
Access2010マクロ メッセージ...
-
ワードを起動した時にでる「セ...
-
Excelのシートを印刷不可(禁止...
-
Excel2003 GET.CELL関数を使う...
-
2007マクロの初歩
-
秀丸について教えてください
-
KingsoftのOffice2013でExcelの...
-
ワードを開くたびに「このプロ...
-
Excelで追加した右クリックメニ...
-
EXCELのマクロについて
-
VBAを禁止している会社って...
-
ワードを立ち上げると画面が小...
-
wordの差し込み印刷で困ってい...
-
ロータス1,2,3がエクセルに駆逐...
-
削除したいんです!
-
WordやExcelで筆記体...
-
ワードやエクセルは、自分のP...
-
カスペルスキーの再インストー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
(実行時エラー5852)Excelデータ...
-
Word文書に必須入力項目を設けたい
-
Access2010マクロ メッセージ...
-
VBAを禁止している会社って...
-
Excelのマクロは管理者でないと...
-
Excelのマクロのショートカット...
-
Excelのシートを印刷不可(禁止...
-
ワードを開くたびに「このプロ...
-
Word2013: コピー、切り取り、...
-
Excel2003 GET.CELL関数を使う...
-
CtrlCができません。
-
エクセルのVBAで自動的にVBE画...
-
WORDのマクロでNG文字がある場...
-
KingsoftのOffice2013でExcelの...
-
今まで実行できていたマクロが...
-
勝手にマクロが組まれてるみた...
-
ワードを起動した時にでる「セ...
-
Wordの「レ」チェックボックス...
-
エクセルVBAメニューバーに...
-
ThisWorkbook Moduleとは??
おすすめ情報