Office.Actions interface

Управляет действиями и сочетаниями клавиш.

Методы

areShortcutsInUse(shortcuts)

Проверяет, используется ли в данный момент набор сочетаний клавиш для пользователя, определенный другой надстройкой или приложением Office. Дополнительные сведения см. в статье Добавление настраиваемых сочетаний клавиш к надстройкам Office.

associate(actionId, actionFunction)

Связывает идентификатор или имя действия с функцией.

getShortcuts()

Получает существующие сочетания клавиш для надстройки. Этот набор всегда включает (1) сочетания клавиш, определенные в манифесте надстройки для сочетаний клавиш, и (2) пользовательские сочетания клавиш, используемые текущим пользователем, если таковые существуют. Сочетание клавиш может конфликтовать null с сочетанием клавиш другой надстройки или с приложением Office. В частности, это происходит 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}>>

Обещание, которое разрешается в массив объектов. Каждый объект состоит из сочетания клавиш и логического значения. Значение это значение в true том случае, если сочетание сочетаний клавиш конфликтует с сочетанием клавиш другой надстройки или с ярлыком приложения Office; 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)

Связывает идентификатор или имя действия с функцией.

associate(actionId: string, actionFunction: (arg?: any) => void): void;

Параметры

actionId

string

Идентификатор действия, определенный в манифесте.

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) пользовательские сочетания клавиш, используемые текущим пользователем, если таковые существуют. Сочетание клавиш может конфликтовать null с сочетанием клавиш другой надстройки или с приложением Office. В частности, это происходит null , если при появлении запроса на выбор сочетания клавиш пользователь не выбирает действие текущей надстройки. Дополнительные сведения о конфликтах с сочетаниями клавиш см. в статье Запрет сочетаний клавиш в других надстройках.

getShortcuts(): Promise<{[actionId: string]: string|null}>;

Возвращаемое значение

Promise<{[actionId: string]: string|null}>

Обещание, которое разрешается в объект ярлыков, где ключи — это идентификаторы действий (как определено в манифесте), а значения — сочетания клавиш. Например, {"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}

Объект настраиваемых сочетаний клавиш, где клавиши — идентификаторы действий, а значения — сочетания клавиш. Например, {"SetItalic": "Ctrl+1", "SetBold": "Ctrl+2"}. Сведения об указании допустимого идентификатора действия и сочетания клавиш см. в статье Добавление настраиваемых сочетаний клавиш в надстройки Office. (Обратите внимание, что сочетанием клавиш может быть null, и в этом случае действие сохраняет сочетание клавиш, указанное в файле JSON.)

Возвращаемое значение

Promise<void>

Обещание, которое разрешается, когда зарегистрированы все назначения shortcuts пользовательских сочетаний клавиш. Даже в случае конфликта с существующими сочетаниями клавиш настроенное сочетание клавиш будет зарегистрировано. В противном случае обещание будет отклонено с кодом ошибки и сообщением об ошибке. Код OfficeExtension.ErrorCodes.invalidArgument ошибки возвращается, если идентификатор shortcuts действия не существует или если сочетание ярлыков является недопустимым.

Комментарии

Наборы требований:

Примеры

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