Office.Actions interface

アクションとキーボード ショートカットを管理します。

メソッド

areShortcutsInUse(shortcuts)

別のアドインまたは Office アプリケーションで定義されているように、ショートカットの組み合わせのセットがユーザーに対して現在使用されているかどうかを確認します。 詳細については、「Office アドインにカスタム キーボード ショートカットを追加する」を参照してください

associate(actionId, actionFunction)

アクションの ID または名前を関数に関連付けます。

getShortcuts()

アドインの既存のショートカットを取得します。 このセットには必ず、(1) キーボード ショートカットのアドインのマニフェストで定義されているショートカット、および (2) 現在のユーザーのカスタム ショートカット (存在する場合) が含まれます。 ショートカットが別のアドインのショートカットまたは Office アプリケーションのショートカットと競合する場合、ショートカットが null される可能性があります。 具体的には、使用するショートカットを選択するように求められたときに、ユーザーが現在のアドインのアクションを選択しなかった場合は null となります。 ショートカットとの競合の詳細については、「 他のアドインで使用されているキーの組み合わせを避ける」を参照してください。

replaceShortcuts(shortcuts)

既存のアドインのショートカットを、ユーザーのカスタム ショートカットに置き換えます。

メソッドの詳細

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.");
        }
});