某Excelコミュニティで出題されたお題「カレンダー入力フォームを作ってみよう」で作成したカレンダーフォームを自作アドインに登録してみました。
せっかく作ったカレンダーフォームをキーボードでサクッと呼び出したいと思ったのですが、アクセスキーが独自メニューのタブは「Y1」だしカレンダーも「YP」とか2文字に設定されていてなんとなく呼び出しにくい
このアクセスキーの設定を変更して、呼び出しやすいようにします
目次
アクセスキー
まず最初にアクセスキーとはなんなのかというと、下記画像内の各メニューに表示されている「YP」などの文字のこと言います。
この文字はAltキーを1度押すと各メニューに表示されます。 このアクセスキーが表示されている時に記載されているとおりに押すと、そのメニューを選択したことになります。
上記画像が表示されている状態で「YP」と押すと「カレンダー」を選択したことになります。
メニューを選択する際にマウスを使用せずキーボードだけでメニューを選択することが出来ます。
独自リボンの作成方法
ここまで記事にたどり着いたということは、リボンの設定自体は完了しているものと思われますので当記事では省略させて頂きますが、方法としてExcelファイルの中にリボン設定用のxmlファイルを作成します。
当記事ではリボン用のxmlファイルの編集箇所をご説明します
一応下記参照
keytipプロパティ
xmlファイルにアクセスキーの設定を追記していきます。 設定した結果として下記のようになります。
mytoolが追加した独自メニューのタブになります。 Alt → K → K と続けて押すことでカレンダーを呼び出せるようになりました。
xmlは以下のように編集しました 該当箇所の抜粋です
リボンのタブ
<tab id="customTab" insertBeforeMso="TabHome" label="myTool" keytip="K">
カレンダーメニュー
<button id="customButtonC13" label="カレンダー" imageMso="CalendarsGallery" size="normal" onAction="CalendarFormShow" keytip="K"/>
該当の箇所に『keytip="K"』を追記するだけで実現することが出来ます。 keytipプロパティは省略可能な項目で、省略するとExcelが自動的にアクセスキーを割り振ってくれます。
冒頭で記載したようにこの自動割り振りが肌に合わないなぁと思った時にkeytipを設定することで任意のアクセスキーを割り振ることが出来ます。
但し何でも好き勝手に設定することは出来ません。 上記画像でホームタブに『H』が設定されていますが、独自メニューに『H』を設定して呼び出すことは出来ないようです。 『H』を設定しても設定は変更されず、無かったことにされました。
標準メニューの設定と被らないように設定して、自分の手に馴染むアクセスキーを構築してみましょう