Office.Actions interface
アクションとキーボード ショートカットを管理します。
メソッド
| are |
別のアドインまたは Office アプリケーションで定義されているように、ショートカットの組み合わせのセットがユーザーに対して現在使用されているかどうかを確認します。 詳細については、「Office アドインにカスタム キーボード ショートカットを追加する」を参照してください。 |
| associate(action |
アクションの ID または名前を関数に関連付けます。 |
| get |
アドインの既存のショートカットを取得します。 このセットには必ず、(1) キーボード ショートカットのアドインのマニフェストで定義されているショートカット、および (2) 現在のユーザーのカスタム ショートカット (存在する場合) が含まれます。 ショートカットが別のアドインのショートカットまたは Office アプリケーションのショートカットと競合する場合、ショートカットが |
| replace |
既存のアドインのショートカットを、ユーザーのカスタム ショートカットに置き換えます。 |
メソッドの詳細
areShortcutsInUse(shortcuts)
別のアドインまたは Office アプリケーションで定義されているように、ショートカットの組み合わせのセットがユーザーに対して現在使用されているかどうかを確認します。 詳細については、「Office アドインにカスタム キーボード ショートカットを追加する」を参照してください。
areShortcutsInUse(shortcuts: string[]): Promise<Array<{shortcut: string, inUse: boolean}>>;
パラメーター
- shortcuts
-
string[]
ショートカットの組み合わせの配列。 たとえば、「 ["Ctrl+1", "Ctrl+2"]」と入力します。
返品
Promise<Array<{shortcut: string, inUse: boolean}>>
オブジェクトの配列に解決される Promise。 各オブジェクトは、ショートカットの組み合わせとブール値で構成されます。 ショートカットの組み合わせが別のアドインのショートカットまたは Office アプリケーションのショートカットと競合する場合、値は true 。それ以外の場合は false。 たとえば、「 [{shortcut:"Ctrl+1", inUse:true},{shortcut:"Ctrl+2", inUse:false}]」と入力します。
注釈
要件セット:
例
// Checks if a specific keyboard shortcut is in use.
const shortcuts = ["Ctrl+Shift+1", "Ctrl+Shift+2"];
Office.actions.areShortcutsInUse(shortcuts)
.then((shortcutsInUse) => {
const availableShortcuts = shortcutsInUse.filter((shortcut) => { return !shortcut.inUse; });
console.log(`Available keyboard shortcuts: ${availableShortcuts}`);
const usedShortcuts = shortcutsInUse.filter((shortcut) => { return shortcut.inUse; });
console.log(`Shortcuts in use: ${usedShortcuts}`);
});
associate(actionId, actionFunction)
アクションの ID または名前を関数に関連付けます。
associate(actionId: string, actionFunction: (arg?: any) => void): void;
パラメーター
- actionId
-
string
マニフェストで定義されているアクションの ID。
- actionFunction
-
(arg?: any) => void
アクションが呼び出されたときに実行される関数。
返品
void
例
// Maps the action ID to the showTaskPane function.
Office.actions.associate("ShowTaskpane", showTaskPane);
// Displays the add-in's task pane.
function showTaskPane() {
return Office.addin.showAsTaskpane()
.then(() => { console.log("Task pane is visible."); })
.catch((error) => {
console.log(error.code);
});
}
getShortcuts()
アドインの既存のショートカットを取得します。 このセットには必ず、(1) キーボード ショートカットのアドインのマニフェストで定義されているショートカット、および (2) 現在のユーザーのカスタム ショートカット (存在する場合) が含まれます。 ショートカットが別のアドインのショートカットまたは Office アプリケーションのショートカットと競合する場合、ショートカットが null される可能性があります。 具体的には、使用するショートカットを選択するように求められたときに、ユーザーが現在のアドインのアクションを選択しなかった場合は null となります。 ショートカットとの競合の詳細については、「 他のアドインで使用されているキーの組み合わせを避ける」を参照してください。
getShortcuts(): Promise<{[actionId: string]: string|null}>;
返品
Promise<{[actionId: string]: string|null}>
ショートカットのオブジェクトに解決される Promise。キーは (マニフェストで定義されている) アクションの ID、値はショートカットの組み合わせです。 たとえば、「 {"SetItalic": "Ctrl+1", "SetBold": "Ctrl+2", "SetUnderline": null}」と入力します。
注釈
要件セット:
例
// Gets the list of keyboard shortcuts for an add-in.
Office.actions.getShortcuts()
.then((shortcuts) => {
for (const action in shortcuts) {
let shortcut = shortcuts[action];
console.log(`${action}: ${shortcut}`);
}
});
replaceShortcuts(shortcuts)
既存のアドインのショートカットを、ユーザーのカスタム ショートカットに置き換えます。
replaceShortcuts(shortcuts: {[actionId: string]: string}): Promise<void>;
パラメーター
- shortcuts
-
{[actionId: string]: string}
キーがアクションの ID で値がショートカットの組み合わせであるカスタム ショートカットのオブジェクト。 たとえば、「 {"SetItalic": "Ctrl+1", "SetBold": "Ctrl+2"}」と入力します。 有効なアクション ID とキーの組み合わせを指定する方法については、「Office アドインにカスタム キーボード ショートカットを追加する」を参照してください。(キーの組み合わせはnullできます。その場合、アクションは JSON ファイルで指定されたキーの組み合わせを保持します。)
返品
Promise<void>
shortcuts のすべてのカスタム ショートカットの割り当てが登録されると解決される Promise。 既存のショートカットと競合しても、カスタマイズされたショートカットが登録されます。 そうしないと、エラー コードとエラー メッセージが表示されて Promise が拒否されます。
shortcuts のアクション ID が存在しない場合、またはショートカットの組み合わせが無効な場合は、OfficeExtension.ErrorCodes.invalidArgumentエラー コードが返されます。
注釈
要件セット:
例
// Replaces the keyboard shortcuts of an add-in.
const customShortcuts = {
ShowTaskpane:"Ctrl+Shift+1",
HideTaskpane:"Ctrl+Shift+2"
};
Office.actions.replaceShortcuts(customShortcuts)
.then(() => { console.log("Keyboard shortcuts successfully registered."); })
.catch((error) => {
if (error.code === "InvalidOperation") {
console.log("ActionId does not exist or shortcut combination is invalid.");
}
});