Office.Settings interface

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

Комментарии

Приложения: Excel, PowerPoint, Word

Настройки, созданные с помощью методов объекта, Settings сохраняются для каждой надстройки и для каждого документа. Таким образом, они доступны только для создавшего их приложения и только из того документа, в котором они сохранены.

Имя параметра является строкой, а значение может быть строкой, числом, логическим значением, нулем, объектом или массивом.

Объект Settings автоматически загружается как часть Document объекта и доступен путем вызова свойства settings этого объекта при активации надстройки.

Разработчик отвечает за вызов saveAsync метода после добавления или удаления параметров для сохранения настроек в документе.

Используется

Методы

addHandlerAsync(eventType, handler, options, callback)

Добавляет обработчик события для settingsChanged события.

Важно! Код надстройки может зарегистрировать обработчик для settingsChanged этого события, когда надстройка выполняется в любом клиенте Excel, но событие запускается только в том случае, если надстройка загружена в электронную таблицу, открытую в Excel в Интернете, и несколько пользователей редактируют электронную таблицу (совместно редактируя ее). Таким образом, фактически settingsChanged событие поддерживается только в Excel в Интернете в сценариях совместного редактирования.

addHandlerAsync(eventType, handler, callback)

Добавляет обработчик события для settingsChanged события.

Важно! Код надстройки может зарегистрировать обработчик для settingsChanged этого события, когда надстройка выполняется в любом клиенте Excel, но событие запускается только в том случае, если надстройка загружена в электронную таблицу, открытую в Excel в Интернете, и несколько пользователей редактируют электронную таблицу (совместно редактируя ее). Таким образом, фактически settingsChanged событие поддерживается только в Excel в Интернете в сценариях совместного редактирования.

get(name)

Извлекает указанный параметр.

refreshAsync(callback)

Считывает все параметры, сохраненные в документе, и обновляет копию этих параметров в памяти для контентной надстройки или надстройки области задач.

remove(name)

Удаляет указанный параметр.

Важно! Имейте в виду, что метод Settings.remove влияет только на копию контейнера свойств параметров в памяти. Чтобы сохранить удаление указанного параметра в документе, в какой-то момент после вызова Settings.remove метода и до закрытия надстройки необходимо вызвать Settings.saveAsync метод.

removeHandlerAsync(eventType, options, callback)

Удаляет обработчик событий.settingsChanged

removeHandlerAsync(eventType, callback)

Удаляет обработчик событий.settingsChanged

saveAsync(options, callback)

Хранится в копии контейнера свойств параметров в документе, содержащейся в памяти.

saveAsync(callback)

Хранится в копии контейнера свойств параметров в документе, содержащейся в памяти.

set(name, value)

Устанавливает или создает указанный параметр.

Важно! Имейте в виду, что метод Settings.set влияет только на копию контейнера свойств параметров в памяти. Чтобы убедиться, что дополнения или изменения параметров будут доступны для вашей надстройки при следующем открытии документа, в какой-то момент после вызова Settings.set метода и до закрытия надстройки, необходимо вызвать Settings.saveAsync метод для сохранения параметров в документе.

Сведения о методе

addHandlerAsync(eventType, handler, options, callback)

Добавляет обработчик события для settingsChanged события.

Важно! Код надстройки может зарегистрировать обработчик для settingsChanged этого события, когда надстройка выполняется в любом клиенте Excel, но событие запускается только в том случае, если надстройка загружена в электронную таблицу, открытую в Excel в Интернете, и несколько пользователей редактируют электронную таблицу (совместно редактируя ее). Таким образом, фактически settingsChanged событие поддерживается только в Excel в Интернете в сценариях совместного редактирования.

addHandlerAsync(eventType: Office.EventType, handler: any, options?: Office.AsyncContextOptions, callback?: (result: AsyncResult<void>) => void): void;

Параметры

eventType
Office.EventType

Указывает тип добавляемого события. Обязательно.

handler

any

Добавляемая функция обработчика событий, единственный параметр которой имеет тип Office.SettingsChangedEventArgs. Обязательно.

options
Office.AsyncContextOptions

Предоставляет возможность сохранения контекстных данных любого типа без изменений для использования в обратном вызове.

callback

(result: Office.AsyncResult<void>) => void

Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult.

Property Использовать
AsyncResult.value Всегда возвращается undefined , так как при добавлении обработчика события нет данных или объекта для получения.
AsyncResult.status Определяет, удалось ли выполнить операцию.
AsyncResult.error Получите доступ к объекту Error , предоставляющему сведения об ошибке, если операция завершилась сбоем.
AsyncResult.asyncContext Определите элемент любого типа, который возвращается в объекте AsyncResult без изменений.

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

void

Комментарии

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

Вы можете добавить несколько обработчиков событий для указанного eventType события, если имя каждой функции обработчика событий уникально.

addHandlerAsync(eventType, handler, callback)

Добавляет обработчик события для settingsChanged события.

Важно! Код надстройки может зарегистрировать обработчик для settingsChanged этого события, когда надстройка выполняется в любом клиенте Excel, но событие запускается только в том случае, если надстройка загружена в электронную таблицу, открытую в Excel в Интернете, и несколько пользователей редактируют электронную таблицу (совместно редактируя ее). Таким образом, фактически settingsChanged событие поддерживается только в Excel в Интернете в сценариях совместного редактирования.

addHandlerAsync(eventType: Office.EventType, handler: any, callback?: (result: AsyncResult<void>) => void): void;

Параметры

eventType
Office.EventType

Указывает тип добавляемого события. Обязательно.

handler

any

Добавляемая функция обработчика событий, единственный параметр которой имеет тип Office.SettingsChangedEventArgs. Обязательно.

callback

(result: Office.AsyncResult<void>) => void

Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult.

Property Использовать
AsyncResult.value Всегда возвращается undefined , так как при добавлении обработчика события нет данных или объекта для получения.
AsyncResult.status Определяет, удалось ли выполнить операцию.
AsyncResult.error Получите доступ к объекту Error , предоставляющему сведения об ошибке, если операция завершилась сбоем.
AsyncResult.asyncContext Определите элемент любого типа, который возвращается в объекте AsyncResult без изменений.

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

void

Комментарии

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

Вы можете добавить несколько обработчиков событий для указанного eventType события, если имя каждой функции обработчика событий уникально.

Примеры

function addSelectionChangedEventHandler() {
    Office.context.document.settings.addHandlerAsync(Office.EventType.SettingsChanged, MyHandler);
}

function MyHandler(eventArgs: Office.SettingsChangedEventArgs) {
    write('Event raised: ' + eventArgs.type);
    doSomethingWithSettings(eventArgs.settings);
}

// Function that writes to a div with id='message' on the page.
function write(message) {
    document.getElementById('message').innerText += message;
}

get(name)

Извлекает указанный параметр.

get(name: string): any;

Параметры

name

string

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

any

Объект с именами свойств, сопоставленными с сериализованными значениями JSON.

Комментарии

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

Примеры

function displayMySetting() {
    write('Current value for mySetting: ' + Office.context.document.settings.get('mySetting'));
}
// Function that writes to a div with id='message' on the page.
function write(message) {
    document.getElementById('message').innerText += message;
}

refreshAsync(callback)

Считывает все параметры, сохраненные в документе, и обновляет копию этих параметров в памяти для контентной надстройки или надстройки области задач.

refreshAsync(callback?: (result: AsyncResult<Office.Settings>) => void): void;

Параметры

callback

(result: Office.AsyncResult<Office.Settings>) => void

Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult. Свойством value результата является объект Office.Settings с обновленными значениями.

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

void

Комментарии

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

Этот метод полезен в сценариях совместного редактирования Excel, Word и PowerPoint, когда несколько экземпляров одной надстройки работают с одним документом. Так как каждая надстройка работает с находящейся в памяти копией параметров, загруженных из документа в момент его открытия, значения параметров, используемые каждым пользователем, могут быть рассинхронизированы. Это может произойти каждый раз, Settings.saveAsync когда экземпляр надстройки вызывает метод для сохранения всех параметров этого пользователя в документе. Вызов refreshAsync метода из обработчика событий для settingsChanged события надстройки обновит значения параметров для всех пользователей.

В функции обратного вызова, передаваемой методу refreshAsync , можно использовать свойства AsyncResult объекта для возврата следующих сведений.

Property Использовать
AsyncResult.value Доступ к объекту Settings с обновленными значениями.
AsyncResult.status Определяет, удалось ли выполнить операцию.
AsyncResult.error Получите доступ к объекту Error , предоставляющему сведения об ошибке, если операция завершилась сбоем.
AsyncResult.asyncContext Определите элемент любого типа, который возвращается в объекте AsyncResult без изменений.

Примеры

function refreshSettings() {
    Office.context.document.settings.refreshAsync(function (asyncResult) {
        write('Settings refreshed with status: ' + asyncResult.status);
    });
}
// Function that writes to a div with id='message' on the page.
function write(message) {
    document.getElementById('message').innerText += message;
}

remove(name)

Удаляет указанный параметр.

Важно! Имейте в виду, что метод Settings.remove влияет только на копию контейнера свойств параметров в памяти. Чтобы сохранить удаление указанного параметра в документе, в какой-то момент после вызова Settings.remove метода и до закрытия надстройки необходимо вызвать Settings.saveAsync метод.

remove(name: string): void;

Параметры

name

string

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

void

Комментарии

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

null является допустимым значением для параметра. Поэтому присвоение null параметру не приведет к удалению его из контейнера свойств параметров.

Примеры

function removeMySetting() {
    Office.context.document.settings.remove('mySetting');
}

removeHandlerAsync(eventType, options, callback)

Удаляет обработчик событий.settingsChanged

removeHandlerAsync(eventType: Office.EventType, options?: RemoveHandlerOptions, callback?: (result: AsyncResult<void>) => void): void;

Параметры

eventType
Office.EventType

Указывает тип удаляемого события. Обязательно.

options
Office.RemoveHandlerOptions

Предоставляет параметры для определения того, какой обработчик или обработчики событий удаляются.

callback

(result: Office.AsyncResult<void>) => void

Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult.

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

void

Комментарии

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

Если необязательный параметр обработчика будет опущен при вызове removeHandlerAsync метода, все обработчики событий для указанного eventType будут удалены.

Когда функция, которую вы передали в параметр обратного вызова, выполняется, она получает AsyncResult объект, к которому можно получить доступ из единственного параметра функции обратного вызова.

В функции обратного вызова, передаваемой методу removeHandlerAsync , можно использовать свойства AsyncResult объекта для возврата следующих сведений.

Property Использовать
AsyncResult.value Всегда возвращает undefined , так как при настройке форматов нет данных или объектов, которые можно было бы извлечь.
AsyncResult.status Определяет, удалось ли выполнить операцию.
AsyncResult.error Получите доступ к объекту Error , предоставляющему сведения об ошибке, если операция завершилась сбоем.
AsyncResult.asyncContext Определите элемент любого типа, который возвращается в объекте AsyncResult без изменений.

removeHandlerAsync(eventType, callback)

Удаляет обработчик событий.settingsChanged

removeHandlerAsync(eventType: Office.EventType, callback?: (result: AsyncResult<void>) => void): void;

Параметры

eventType
Office.EventType

Указывает тип удаляемого события. Обязательно.

callback

(result: Office.AsyncResult<void>) => void

Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult.

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

void

Комментарии

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

Если необязательный параметр обработчика будет опущен при вызове removeHandlerAsync метода, все обработчики событий для указанного eventType будут удалены.

Когда функция, которую вы передали в параметр обратного вызова, выполняется, она получает AsyncResult объект, к которому можно получить доступ из единственного параметра функции обратного вызова.

В функции обратного вызова, передаваемой методу removeHandlerAsync , можно использовать свойства AsyncResult объекта для возврата следующих сведений.

Property Использовать
AsyncResult.value Всегда возвращает undefined , так как при настройке форматов нет данных или объектов, которые можно было бы извлечь.
AsyncResult.status Определяет, удалось ли выполнить операцию.
AsyncResult.error Получите доступ к объекту Error , предоставляющему сведения об ошибке, если операция завершилась сбоем.
AsyncResult.asyncContext Определите элемент любого типа, который возвращается в объекте AsyncResult без изменений.

Примеры

function removeSettingsChangedEventHandler() {
    Office.context.document.settings.removeHandlerAsync(Office.EventType.SettingsChanged);
}

saveAsync(options, callback)

Хранится в копии контейнера свойств параметров в документе, содержащейся в памяти.

saveAsync(options?: SaveSettingsOptions, callback?: (result: AsyncResult<void>) => void): void;

Параметры

options
Office.SaveSettingsOptions

Предоставляет параметры для сохранения параметров.

callback

(result: Office.AsyncResult<void>) => void

Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult.

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

void

Комментарии

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

Параметры, сохраненные надстройкой, загружаются при инициализации, поэтому во время сеанса вы можете использовать методы set и get для работы с копией контейнера свойств в памяти. Если вы хотите сохранить параметры для работы с ними при использовании надстройки в дальнейшем, используйте метод saveAsync.

Примечание. Метод saveAsync сохраняет контейнер свойств параметров в памяти в файле документа. Изменения в самом файле документа сохраняются только в том случае, если пользователь (или параметр автовосстановления) сохраняет документ в файловой системе. Этот refreshAsync метод полезен при совместном редактировании сценариев, когда другие экземпляры той же надстройки могут изменить параметры, и эти изменения должны быть доступны всем экземплярам.

Property Использовать
AsyncResult.value Всегда возвращается undefined , так как нет объекта или данных, которые можно было бы извлечь.
AsyncResult.status Определяет, удалось ли выполнить операцию.
AsyncResult.error Получите доступ к объекту Error , предоставляющему сведения об ошибке, если операция завершилась сбоем.
AsyncResult.asyncContext Определите элемент любого типа, который возвращается в объекте AsyncResult без изменений.

saveAsync(callback)

Хранится в копии контейнера свойств параметров в документе, содержащейся в памяти.

saveAsync(callback?: (result: AsyncResult<void>) => void): void;

Параметры

callback

(result: Office.AsyncResult<void>) => void

Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult.

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

void

Комментарии

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

Параметры, сохраненные надстройкой, загружаются при инициализации, поэтому во время сеанса вы можете использовать методы set и get для работы с копией контейнера свойств в памяти. Если вы хотите сохранить параметры для работы с ними при использовании надстройки в дальнейшем, используйте метод saveAsync.

Примечание. Метод saveAsync сохраняет контейнер свойств параметров в памяти в файле документа. Изменения в самом файле документа сохраняются только в том случае, если пользователь (или параметр автовосстановления) сохраняет документ в файловой системе. Этот refreshAsync метод полезен при совместном редактировании сценариев, когда другие экземпляры той же надстройки могут изменить параметры, и эти изменения должны быть доступны всем экземплярам.

Property Использовать
AsyncResult.value Всегда возвращается undefined , так как нет объекта или данных, которые можно было бы извлечь.
AsyncResult.status Определяет, удалось ли выполнить операцию.
AsyncResult.error Получите доступ к объекту Error , предоставляющему сведения об ошибке, если операция завершилась сбоем.
AsyncResult.asyncContext Определите элемент любого типа, который возвращается в объекте AsyncResult без изменений.

Примеры

function persistSettings() {
    Office.context.document.settings.saveAsync(function (asyncResult) {
        write('Settings saved with status: ' + asyncResult.status);
    });
}
// Function that writes to a div with id='message' on the page.
function write(message) {
    document.getElementById('message').innerText += message;
}

set(name, value)

Устанавливает или создает указанный параметр.

Важно! Имейте в виду, что метод Settings.set влияет только на копию контейнера свойств параметров в памяти. Чтобы убедиться, что дополнения или изменения параметров будут доступны для вашей надстройки при следующем открытии документа, в какой-то момент после вызова Settings.set метода и до закрытия надстройки, необходимо вызвать Settings.saveAsync метод для сохранения параметров в документе.

set(name: string, value: any): void;

Параметры

name

string

value

any

Задает сохраняемое значение.

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

void

Комментарии

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

Метод set создает новый параметр с указанным именем, если он еще не существует, или задает существующий параметр с указанным именем в копии контейнера свойств параметров в памяти. После вызова Settings.saveAsync метода значение сохраняется в документе в виде сериализованного JSON-представления его типа данных.

Примеры

function setMySetting() {
    Office.context.document.settings.set('mySetting', 'mySetting value');
}