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}>
キーがアクションの ID であり、値がショートカットの組み合わせであるショートカットのオブジェクトに解決される promise。 たとえば、 {"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 が存在しない場合、またはショートカットの組み合わせが無効な場合は、"InvalidOperation" エラー コードが返されます。
注釈
要件セット:
例
// 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.");
}
});
Office Add-ins