システムwiki

キーバインディングリスト異常

GregMax 受付中 最終更新日:2021-06-17 01:51

こんにちは、私はテンプレートでカスタムキーバインディングを管理するためのアドインと一緒にいかがかっています.私はWordのVBA Application.ListCommandsメソッドを発見しました.

クリーンル通常のテンプレート(カスタムキービングなし)から始めます.モジュール "mymacros"とプロシージャサブテスト1

を追加しました

サブテスト1()

MsgBox "Test1"

終了SUB

次に、次の手順を追加しました.

この手順では5つのカスタムキーバインディング

が追加されました

1.ショートカットCTRL + ALT + A + Pでフォントサイズを設定するためのコマンドカテゴリkeybinding

2.ショートカットCTRL + ALT + B

で上記で定義したマクロを実行するマクロカテゴリkeybinding

3.フォントカテゴリ鍵ベインディングショートカットCTRL + ALT + D

では、arialにフォントをarialに設定します.

4.ビルディングブロックを挿入するためのオートテキストカテゴリ鍵ベインディング「機密」CTRL + ALT + E

5.Shortcut Ctrl + Alt + F

で目を向けるためのスタイルを1に設定するためのスタイルカテゴリkeybinding

これが問題です.5つのキーバインドすべてが確実に作成され、定義されているように機能します.ただし、Application.ListCommandsが実行されると、結果の表の「all」コマンドの表には、上で定義されたものすべてが含まれていますが、マクロキーボインディングは含まれていません.

誰でも理由がありますか?

ありがとう.

サブBuildKB()
keyBindingとしての薄暗いOKEY
ドキュメントとしてDIM ODOC
薄型範囲
CustomizationContext= NormalTemplate
keybindings.add 1、 "fontsize"、 "1601" ,24 "
keybindings.add 2、 "normal.maCros.test1"、 "1602"
keybindings.add 3、 "Arial"、 "1604"
keybindings.add 4、 "Confidential"、 "1605"
keybindings.add 5、 "見出し1"、 "1606"
keybindingsの各OKEYの場合
OKEY.KEYCATEGORY= 2 [マクロ]を「マクロ」の場合 msgBox "私はマクロ鍵ベインダーです.私は存在します、ここに私のパラメータがあります:"&key.keycategory&"-"&key.command&"-"&okey.keystring

の場合は終了 次の
Application.ListCommands ListAllCommands:= 0
ODOC= ActiveDocumentを設定する
set orng= odoc.range
orng.find
.text= "confidential"


MsgBox "Bingoです.私はAutextext keybindingです.私はリストにあります."


MsgBox「そのリストに表示されないのはなぜ私の兄弟姉妹をやるのですか」、VBQuestion + Vbokonly、 "?"

の場合は終了

set orng= odoc.range
orng.find
.text= "normal.maCros.test1" "


MsgBox "ビンゴ.私はマクロ鍵ボインディングです.私はリストにあります."


MsgBox「そのリストに表示されないのはなぜ私の兄弟姉妹をやるのですか」、VBQuestion + Vbokonly、 "?"

の場合は終了

lbl_exti:


終了SUB

返信リスト(回答:2)

2 #
JayFree 1

私は同じ振る舞いを見ます、そして私はそれについて説明していません.

応答2# ->にスキップ
1 #
GregMax 1

ジェイ、それは奇妙です.コマンドロジックも逆になっているようです.これらのマクロを実行すると、4つの文書があります.

サブスクラッチマコロ()
'Greg Maxeyによってコードされている基本的な単語マクロ
Application.ListCommands ListAllCommands:= TRUE 'リストされているすべてのコマンドがショートカットで埋められた約95%しかいません. Application.ListCommands ListAllCommands:= false 'フルリスティング
Application.ListCommands 0 '全リスト
Application.ListCommands 1 'リストされているすべてのコマンドがショートカットで埋められた約95%しかいません. lbl_exit:


終了SUB

最初に最後に "ListAllCommands"がtrueに設定されているように完全なリストを返すことを期待します.2と3で、私はカスタムキーバインディングのみをリストされていると期待します.