Office.Body interface

Основной объект предоставляет методы для добавления и обновления содержимого сообщения или встречи. Он возвращается в свойстве body выбранного элемента.

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Известная проблема с цветами границ таблицы HTML

Outlook в Windows. Если в html-таблице в режиме создания для разных границ ячеек заданы разные цвета, границы ячейки могут не отражать ожидаемый цвет. Сведения об известном поведении см . в статье OfficeDev/office-js issue No 1818.

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: создание или чтение

Методы

getTypeAsync(options, callback)

Получает значение, указывающее формат содержимого: HTML или текст.

getTypeAsync(callback)

Получает значение, указывающее формат содержимого: HTML или текст.

prependAsync(data, options, callback)

Добавляет указанное содержимое в начало текста элемента.

prependAsync(data, callback)

Добавляет указанное содержимое в начало текста элемента.

setSelectedDataAsync(data, options, callback)

Заменяет выделенный фрагмент в основном тексте на заданный текст.

Метод setSelectedDataAsync вставляет указанную строку в положение курсора в тексте элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если указатель не появлялся в основном тексте элемента, или элемент потерял фокус в интерфейсе, строка вставляется в начало основного текста. После вставки курсор помещается в конец вставленного содержимого.

При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута id в привязке (<a>) значение "LPNoLP" (пример см. в разделе Примеры).

Рекомендуется: вызовите getTypeAsync , а затем передайте возвращаемое значение в options.coercionType параметр .

setSelectedDataAsync(data, callback)

Заменяет выделенный фрагмент в основном тексте на заданный текст.

Метод setSelectedDataAsync вставляет указанную строку в положение курсора в тексте элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если указатель не появлялся в основном тексте элемента, или элемент потерял фокус в интерфейсе, строка вставляется в начало основного текста. После вставки курсор помещается в конец вставленного содержимого.

При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута id в привязке (<a>) значение "LPNoLP" (пример см. в разделе Примеры).

Рекомендуется: вызовите getTypeAsync , а затем передайте возвращаемое значение в options.coercionType параметр .

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

getTypeAsync(options, callback)

Получает значение, указывающее формат содержимого: HTML или текст.

getTypeAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;

Параметры

options
Office.AsyncContextOptions

Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.

callback

(asyncResult: Office.AsyncResult<Office.CoercionType>) => void

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Тип контента возвращается как одно из значений CoercionType в свойстве asyncResult.value .

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

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Создание

Важно! В Outlook для Android и iOS этот метод не поддерживается в режиме создания сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/get-body-format.yaml

// Get the mail item's body format (plain text or HTML) and log it to the console.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }

  console.log("Body format: " + asyncResult.value);
});

getTypeAsync(callback)

Получает значение, указывающее формат содержимого: HTML или текст.

getTypeAsync(callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;

Параметры

callback

(asyncResult: Office.AsyncResult<Office.CoercionType>) => void

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Тип контента возвращается как одно из значений CoercionType в свойстве asyncResult.value .

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

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение элемента

Применимый режим Outlook: Создание

Важно! В Outlook для Android и iOS этот метод не поддерживается в режиме создания сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.

prependAsync(data, options, callback)

Добавляет указанное содержимое в начало текста элемента.

prependAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

data

string

Строка, добавляемая в начало основного текста. Максимальная длина — 1 000 000 символов.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова. coercionType: требуемый формат для текста. Строка в параметре data будет преобразована в этот формат.

callback

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

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.

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

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: Создание

Важно!

  • После добавления содержимого положение курсора зависит от клиента, на котором выполняется надстройка. В Outlook в Windows и в Интернете положение курсора остается прежним в уже существующем содержимом текста. Например, если курсор был расположен в начале текста перед вызовом prependAsync , он будет отображаться между предопределенным содержимым и ранее существующим содержимым текста после вызова. В Outlook на Mac положение курсора не сохраняется. Курсор исчезает после prependAsync вызова и появляется только тогда, когда пользователь выбирает что-то в тексте почтового элемента.

  • При работе с текстами в формате HTML важно отметить, что клиент может изменить значение, переданное prependAsync в, чтобы сделать его эффективно отрисовки с помощью обработчика отрисовки. Это означает, что значение, возвращаемое при последующем вызове Body.getAsync метода (появившемся в почтовом ящике 1.3), не обязательно будет содержать точное значение, переданное в предыдущем prependAsync вызове.

  • При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута id в привязке (<a>) значение "LPNoLP" (пример см. в разделе Примеры).

  • В Outlook для Android и в iOS этот метод не поддерживается в режиме создания сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.

Рекомендуется: вызовите getTypeAsync, а затем передайте возвращенное значение в options.coercionType параметр .

Ошибки:

  • DataExceedsMaximumSize: параметр данных длиннее 1 000 000 символов.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/prepend-text-to-item-body.yaml

/* This snippet adds text to the beginning of the message or appointment's body. 
  
  When prepending a link in HTML markup to the body, you can disable the online link preview by setting the anchor tag's id attribute to "LPNoLP". For example, '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.
*/
const text = $("#text-field").val();

// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }

  const bodyFormat = asyncResult.value;
  Office.context.mailbox.item.body.prependAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
      console.log("Action failed with error: " + asyncResult.error.message);
      return;
    }

    console.log(`"${text}" prepended to the body.`);
  });
});

prependAsync(data, callback)

Добавляет указанное содержимое в начало текста элемента.

prependAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

data

string

Строка, добавляемая в начало основного текста. Максимальная длина — 1 000 000 символов.

callback

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

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.

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

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: Создание

Важно!

  • После добавления содержимого положение курсора зависит от клиента, на котором выполняется надстройка. В Outlook в Windows и в Интернете положение курсора остается прежним в уже существующем содержимом текста. Например, если курсор был расположен в начале текста перед вызовом prependAsync , он будет отображаться между предопределенным содержимым и ранее существующим содержимым текста после вызова. В Outlook на Mac положение курсора не сохраняется. Курсор исчезает после prependAsync вызова и появляется только тогда, когда пользователь выбирает что-то в тексте почтового элемента.

  • При работе с текстами в формате HTML важно отметить, что клиент может изменить значение, переданное prependAsync в, чтобы сделать его эффективно отрисовки с помощью обработчика отрисовки. Это означает, что значение, возвращаемое при последующем вызове Body.getAsync метода (появившемся в почтовом ящике 1.3), не обязательно будет содержать точное значение, переданное в предыдущем prependAsync вызове.

  • При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута id в привязке (<a>) значение "LPNoLP" (пример см. в разделе Примеры).

  • В Outlook для Android и в iOS этот метод не поддерживается в режиме создания сообщений. Поддерживается только режим организатора встреч. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.

Рекомендуется: вызовите getTypeAsync, а затем передайте возвращенное значение в options.coercionType параметр .

Ошибки:

  • DataExceedsMaximumSize: параметр данных длиннее 1 000 000 символов.

setSelectedDataAsync(data, options, callback)

Заменяет выделенный фрагмент в основном тексте на заданный текст.

Метод setSelectedDataAsync вставляет указанную строку в положение курсора в тексте элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если указатель не появлялся в основном тексте элемента, или элемент потерял фокус в интерфейсе, строка вставляется в начало основного текста. После вставки курсор помещается в конец вставленного содержимого.

При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута id в привязке (<a>) значение "LPNoLP" (пример см. в разделе Примеры).

Рекомендуется: вызовите getTypeAsync , а затем передайте возвращаемое значение в options.coercionType параметр .

setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

data

string

Строка, которая заменяет существующий текст. Максимальная длина — 1 000 000 символов.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова. coercionType: требуемый формат для текста. Строка в параметре data будет преобразована в этот формат.

callback

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

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.

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

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: Создание

Ошибки:

  • DataExceedsMaximumSizedata: параметр длиннее 1 000 000 символов.

  • InvalidFormatErroroptions.coercionType: для параметра задано значение , Office.CoercionType.Html а текст сообщения — в виде обычного текста.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/replace-selected-text.yaml

/* This snippet replaces selected text in a message or appointment's body with specified text.
  
  If you want to use a link in HTML markup as a value of the setSelectedDataAsync call's data parameter, you can disable online link preview by setting the anchor tag's id attribute to "LPNoLP". For example, '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.
*/
const text = $("#text-field").val();

// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }

  const bodyFormat = asyncResult.value;
  Office.context.mailbox.item.body.setSelectedDataAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
      console.log("Action failed with error: " + asyncResult.error.message);
      return;
    }

    console.log(`Replaced selected text with "${text}".`);
  });
});

setSelectedDataAsync(data, callback)

Заменяет выделенный фрагмент в основном тексте на заданный текст.

Метод setSelectedDataAsync вставляет указанную строку в положение курсора в тексте элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если указатель не появлялся в основном тексте элемента, или элемент потерял фокус в интерфейсе, строка вставляется в начало основного текста. После вставки курсор помещается в конец вставленного содержимого.

При добавлении ссылок в разметку HTML можно отключить предварительный просмотр веб-ссылок, установив для атрибута id в привязке (<a>) значение "LPNoLP" (пример см. в разделе Примеры).

Рекомендуется: вызовите getTypeAsync , а затем передайте возвращаемое значение в options.coercionType параметр .

setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

data

string

Строка, которая заменяет существующий текст. Максимальная длина — 1 000 000 символов.

callback

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

Необязательный параметр. После завершения метода функция, переданная в callback параметре, вызывается с одним параметром типа Office.AsyncResult. Все обнаруженные ошибки будут указаны в свойстве asyncResult.error.

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

void

Комментарии

[ Набор API: Почтовый ящик 1.1 ]

Минимальный уровень разрешений: чтение и запись элемента

Применимый режим Outlook: Создание

Ошибки:

  • DataExceedsMaximumSizedata: параметр длиннее 1 000 000 символов.

  • InvalidFormatErroroptions.coercionType: для параметра задано значение , Office.CoercionType.Html а текст сообщения — в виде обычного текста.