Office.Body interface

Das body-Objekt stellt Methoden zum Hinzufügen und Aktualisieren des Inhalts der Nachricht oder des Termins bereit. Es wird in der body-Eigenschaft des ausgewählten Elements zurückgegeben.

Hinweise

API-Satz: Postfach 1.1

Weitere Informationen zum Abrufen oder Festlegen des Textkörpers eines E-Mail-Elements finden Sie unter Abrufen oder Festlegen des Textkörpers einer Nachricht oder eines Termins in Outlook.

Bekanntes Problem mit den Rahmenfarben von HTML-Tabellen

Outlook unter Windows: Wenn Sie verschiedene Zellrahmen in einer HTML-Tabelle im Modus "Compose" auf unterschiedliche Farben festlegen, spiegeln die Rahmen einer Zelle möglicherweise nicht die erwartete Farbe wider. Informationen zum bekannten Verhalten finden Sie unter OfficeDev/office-js issue #1818.

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose oder Lesen

Verwendet von

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml

// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
  if (bodyResult.status === Office.AsyncResultStatus.Failed) {
    console.log(`Failed to get body: ${bodyResult.error.message}`);
    return;
  }

  // Add the Base64-encoded image to the end of the body.
  const options = { isInline: true, asyncContext: bodyResult.value };
  Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
    if (attachResult.status === Office.AsyncResultStatus.Failed) {
      console.log(`Failed to attach file: ${attachResult.error.message}`);
      return;
    }

    let body = attachResult.asyncContext;
    body += '<img src="cid:sample.png" />';

    Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
      if (setResult.status === Office.AsyncResultStatus.Failed) {
        console.log(`Failed to set body: ${setResult.error.message}`);
        return;
      }
      
      console.log("Inline Base64-encoded image added to the end of the body.");
    });
  });
});

Methoden

getTypeAsync(options, callback)

Ruft einen Wert ab, der angibt, ob der Inhalt HTML- oder Textformat aufweist.

getTypeAsync(callback)

Ruft einen Wert ab, der angibt, ob der Inhalt HTML- oder Textformat aufweist.

prependAsync(data, options, callback)

Fügt den angegebenen Inhalt am Anfang des Elementkörpers hinzu.

prependAsync(data, callback)

Fügt den angegebenen Inhalt am Anfang des Elementkörpers hinzu.

setSelectedDataAsync(data, options, callback)

Ersetzt die Auswahl im Textkörper mit dem angegebenen Text.

Die setSelectedDataAsync Methode fügt die angegebene Zeichenfolge an der Cursorposition im Textkörper des Elements ein oder, wenn Text im Editor ausgewählt ist, ersetzt sie den ausgewählten Text. Wenn sich der Cursor nie im Textkörper des Elements befand oder wenn der Text des Elements auf der Benutzeroberfläche den Fokus verloren hat, wird die Zeichenfolge oben im Textinhalt eingefügt. Nach dem Einfügen wird der Cursor am Ende des eingefügten Inhalts platziert.

setSelectedDataAsync(data, callback)

Ersetzt die Auswahl im Textkörper mit dem angegebenen Text.

Die setSelectedDataAsync Methode fügt die angegebene Zeichenfolge an der Cursorposition im Textkörper des Elements ein oder, wenn Text im Editor ausgewählt ist, ersetzt sie den ausgewählten Text. Wenn sich der Cursor nie im Textkörper des Elements befand oder wenn der Text des Elements auf der Benutzeroberfläche den Fokus verloren hat, wird die Zeichenfolge oben im Textinhalt eingefügt. Nach dem Einfügen wird der Cursor am Ende des eingefügten Inhalts platziert.

Details zur Methode

getTypeAsync(options, callback)

Ruft einen Wert ab, der angibt, ob der Inhalt HTML- oder Textformat aufweist.

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

Parameter

options
Office.AsyncContextOptions

Ein Objektliteral, das eine oder mehrere der folgenden Eigenschaften enthält: asyncContext: Entwickler können jedes Objekt, auf das sie zugreifen möchten, in der Rückruffunktion bereitstellen.

callback

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

Optional. Wenn die Methode abgeschlossen ist, wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter vom Typ Office.AsyncResultaufgerufen. Der Inhaltstyp wird als einer der CoercionType Werte in der asyncResult.value Eigenschaft zurückgegeben.

Gibt zurück

void

Hinweise

API-Satz: Postfach 1.1

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose

Wichtig: In Outlook unter Android und iOS wird diese Methode im Modus "Message Compose" nicht unterstützt. Nur der Terminorganisatormodus wird unterstützt. Weitere Informationen zu unterstützten APIs in Outlook Mobile finden Sie unter In Outlook auf Mobilgeräten unterstützte Outlook-JavaScript-APIs.

Beispiele

// 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)

Ruft einen Wert ab, der angibt, ob der Inhalt HTML- oder Textformat aufweist.

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

Parameter

callback

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

Optional. Wenn die Methode abgeschlossen ist, wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter vom Typ Office.AsyncResultaufgerufen. Der Inhaltstyp wird als einer der CoercionType Werte in der asyncResult.value Eigenschaft zurückgegeben.

Gibt zurück

void

Hinweise

API-Satz: Postfach 1.1

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose

Wichtig: In Outlook unter Android und iOS wird diese Methode im Modus "Message Compose" nicht unterstützt. Nur der Terminorganisatormodus wird unterstützt. Weitere Informationen zu unterstützten APIs in Outlook Mobile finden Sie unter In Outlook auf Mobilgeräten unterstützte Outlook-JavaScript-APIs.

prependAsync(data, options, callback)

Fügt den angegebenen Inhalt am Anfang des Elementkörpers hinzu.

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

Parameter

data

string

Die Zeichenfolge, die am Anfang des Texts eingefügt werden soll. Die Zeichenfolge ist auf 1.000.000 Zeichen beschränkt.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

Ein Objektliteral, das eine oder mehrere der folgenden Eigenschaften enthält: asyncContext: Entwickler können jedes Objekt, auf das sie zugreifen möchten, in der Rückruffunktion bereitstellen. coercionType : Das gewünschte Format für den Textkörper. Der Zeichenfolge im data-Parameter wird in dieses Format konvertiert.

callback

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

Optional. Wenn die Methode abgeschlossen ist, wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter vom Typ Office.AsyncResultaufgerufen. Alle aufgetretenen Fehler werden in der asyncResult.error-Eigenschaft bereitgestellt.

Gibt zurück

void

Hinweise

API-Satz: Postfach 1.1

Mindestberechtigungsstufe: Element lesen/schreiben

Anwendbarer Outlook-Modus: Compose

Empfohlen: Rufen Sie getTypeAsyncauf, und übergeben Sie dann den zurückgegebenen Wert an den options.coercionType Parameter.

Wichtig:

  • Nachdem der Inhalt vorangestellt wurde, hängt die Position des Cursors davon ab, auf welchem Client das Add-In ausgeführt wird. In Outlook im Web und unter Windows (neu und klassisch) bleibt die Cursorposition im bereits vorhandenen Inhalt des Textkörpers erhalten. Wenn der Cursor beispielsweise vor dem prependAsync Anruf am Anfang des Textkörpers positioniert war, wird er zwischen dem vorangestellten Inhalt und dem bereits vorhandenen Inhalt des Textkörpers nach dem Aufruf angezeigt. In Outlook für Mac wird die Cursorposition nicht beibehalten. Der Cursor verschwindet nach dem prependAsync Anruf und erscheint nur wieder, wenn der Benutzer etwas im Textkörper des E-Mail-Elements auswählt.

  • Bei der Arbeit mit HTML-formatierten Textkörpern ist es wichtig zu beachten, dass der Client den übergebenen Wert prependAsync ändern kann, damit er mit seiner Rendering-Engine effizient gerendert wird. Dies bedeutet, dass der Wert, der von einem nachfolgenden Aufruf der Body.getAsync Methode (eingeführt in Postfach 1.3) zurückgegeben wird, nicht unbedingt genau den Wert enthält, der im vorherigen prependAsync Aufruf übergeben wurde.

  • Wenn Sie Links in HTML-Markup einfügen, können Sie die Online-Linkvorschau deaktivieren, indem Sie das id Attribut für den Anker (<a>) auf "LPNoLP" setzen. Beispiel: '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.

  • In Outlook unter Android und iOS wird diese Methode im Modus "Message Compose" nicht unterstützt. Nur der Terminorganisatormodus wird unterstützt. Weitere Informationen zu unterstützten APIs in Outlook Mobile finden Sie unter In Outlook auf Mobilgeräten unterstützte Outlook-JavaScript-APIs.

  • SVG-Dateien werden nicht unterstützt. Verwenden Sie stattdessen JPG- oder PNG-Dateien.

  • Die prependAsync Methode unterstützt kein Inline-CSS. Verwenden Sie stattdessen internes oder externes CSS.

  • Die prependAsync Methode wird für eine Nachricht, die derzeit mit der loadItemByIdAsync Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter "Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten".

Fehler:

  • DataExceedsMaximumSize : Der Datenparameter ist länger als 1.000.000 Zeichen.

Beispiele

// 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="https://www.contoso.com">Click here!</a>'.
*/
const text = (document.getElementById("text-field") as HTMLInputElement).value;

// 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)

Fügt den angegebenen Inhalt am Anfang des Elementkörpers hinzu.

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

Parameter

data

string

Die Zeichenfolge, die am Anfang des Texts eingefügt werden soll. Die Zeichenfolge ist auf 1.000.000 Zeichen beschränkt.

callback

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

Optional. Wenn die Methode abgeschlossen ist, wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter vom Typ Office.AsyncResultaufgerufen. Alle aufgetretenen Fehler werden in der asyncResult.error-Eigenschaft bereitgestellt.

Gibt zurück

void

Hinweise

API-Satz: Postfach 1.1

Mindestberechtigungsstufe: Element lesen/schreiben

Anwendbarer Outlook-Modus: Compose

Empfohlen: Rufen Sie getTypeAsyncauf, und übergeben Sie dann den zurückgegebenen Wert an den options.coercionType Parameter.

Wichtig:

  • Nachdem der Inhalt vorangestellt wurde, hängt die Position des Cursors davon ab, auf welchem Client das Add-In ausgeführt wird. In Outlook im Web und unter Windows (neu und klassisch) bleibt die Cursorposition im bereits vorhandenen Inhalt des Textkörpers erhalten. Wenn der Cursor beispielsweise vor dem prependAsync Anruf am Anfang des Textkörpers positioniert war, wird er zwischen dem vorangestellten Inhalt und dem bereits vorhandenen Inhalt des Textkörpers nach dem Aufruf angezeigt. In Outlook für Mac wird die Cursorposition nicht beibehalten. Der Cursor verschwindet nach dem prependAsync Anruf und erscheint nur wieder, wenn der Benutzer etwas im Textkörper des E-Mail-Elements auswählt.

  • Bei der Arbeit mit HTML-formatierten Textkörpern ist es wichtig zu beachten, dass der Client den übergebenen Wert prependAsync ändern kann, damit er mit seiner Rendering-Engine effizient gerendert wird. Dies bedeutet, dass der Wert, der von einem nachfolgenden Aufruf der Body.getAsync Methode (eingeführt in Postfach 1.3) zurückgegeben wird, nicht unbedingt genau den Wert enthält, der im vorherigen prependAsync Aufruf übergeben wurde.

  • Wenn Sie Links in HTML-Markup einfügen, können Sie die Online-Linkvorschau deaktivieren, indem Sie das id Attribut für den Anker (<a>) auf "LPNoLP" setzen. Beispiel: '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.

  • In Outlook unter Android und iOS wird diese Methode im Modus "Message Compose" nicht unterstützt. Nur der Terminorganisatormodus wird unterstützt. Weitere Informationen zu unterstützten APIs in Outlook Mobile finden Sie unter In Outlook auf Mobilgeräten unterstützte Outlook-JavaScript-APIs.

  • SVG-Dateien werden nicht unterstützt. Verwenden Sie stattdessen JPG- oder PNG-Dateien.

  • Die prependAsync Methode unterstützt kein Inline-CSS. Verwenden Sie stattdessen internes oder externes CSS.

  • Die prependAsync Methode wird für eine Nachricht, die derzeit mit der loadItemByIdAsync Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter "Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten".

Fehler:

  • DataExceedsMaximumSize : Der Datenparameter ist länger als 1.000.000 Zeichen.

setSelectedDataAsync(data, options, callback)

Ersetzt die Auswahl im Textkörper mit dem angegebenen Text.

Die setSelectedDataAsync Methode fügt die angegebene Zeichenfolge an der Cursorposition im Textkörper des Elements ein oder, wenn Text im Editor ausgewählt ist, ersetzt sie den ausgewählten Text. Wenn sich der Cursor nie im Textkörper des Elements befand oder wenn der Text des Elements auf der Benutzeroberfläche den Fokus verloren hat, wird die Zeichenfolge oben im Textinhalt eingefügt. Nach dem Einfügen wird der Cursor am Ende des eingefügten Inhalts platziert.

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

Parameter

data

string

Die Zeichenfolge, die den vorhandenen Text ersetzen soll. Die Zeichenfolge ist auf 1.000.000 Zeichen beschränkt.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

Ein Objektliteral, das eine oder mehrere der folgenden Eigenschaften enthält: asyncContext: Entwickler können jedes Objekt, auf das sie zugreifen möchten, in der Rückruffunktion bereitstellen. coercionType : Das gewünschte Format für den Textkörper. Der Zeichenfolge im data-Parameter wird in dieses Format konvertiert.

callback

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

Optional. Wenn die Methode abgeschlossen ist, wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter vom Typ Office.AsyncResultaufgerufen. Alle aufgetretenen Fehler werden in der asyncResult.error-Eigenschaft bereitgestellt.

Gibt zurück

void

Hinweise

API-Satz: Postfach 1.1

Mindestberechtigungsstufe: Element lesen/schreiben

Anwendbarer Outlook-Modus: Compose

Empfohlen: Rufen Sie auf, getTypeAsync und übergeben Sie dann den zurückgegebenen Wert an den options.coercionType Parameter.

* Wichtig:

  • Wenn Sie Links in HTML-Markup einfügen, können Sie die Online-Linkvorschau deaktivieren, indem Sie das id Attribut für den Anker (<a>) auf "LPNoLP" setzen. Beispiel: '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.

  • SVG-Dateien werden nicht unterstützt. Verwenden Sie stattdessen JPG- oder PNG-Dateien.

  • Die setSelectedDataAsync Methode unterstützt kein Inline-CSS. Verwenden Sie stattdessen internes oder externes CSS.

  • Die setSelectedDataAsync Methode wird für eine Nachricht, die derzeit mit der loadItemByIdAsync Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter "Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten".

Fehler:

  • DataExceedsMaximumSize : Der data Parameter ist länger als 1.000.000 Zeichen.

  • InvalidFormatError : Der options.coercionType Parameter ist festgelegt Office.CoercionType.Html und der Nachrichtentext ist im Nur-Text-Format.

Beispiele

// 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="https://www.contoso.com">Click here!</a>'.
*/
const text = (document.getElementById("text-field") as HTMLInputElement).value;

// 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)

Ersetzt die Auswahl im Textkörper mit dem angegebenen Text.

Die setSelectedDataAsync Methode fügt die angegebene Zeichenfolge an der Cursorposition im Textkörper des Elements ein oder, wenn Text im Editor ausgewählt ist, ersetzt sie den ausgewählten Text. Wenn sich der Cursor nie im Textkörper des Elements befand oder wenn der Text des Elements auf der Benutzeroberfläche den Fokus verloren hat, wird die Zeichenfolge oben im Textinhalt eingefügt. Nach dem Einfügen wird der Cursor am Ende des eingefügten Inhalts platziert.

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

Parameter

data

string

Die Zeichenfolge, die den vorhandenen Text ersetzen soll. Die Zeichenfolge ist auf 1.000.000 Zeichen beschränkt.

callback

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

Optional. Wenn die Methode abgeschlossen ist, wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter vom Typ Office.AsyncResultaufgerufen. Alle aufgetretenen Fehler werden in der asyncResult.error-Eigenschaft bereitgestellt.

Gibt zurück

void

Hinweise

API-Satz: Postfach 1.1

Mindestberechtigungsstufe: Element lesen/schreiben

Anwendbarer Outlook-Modus: Compose

Empfohlen: Rufen Sie auf, getTypeAsync und übergeben Sie dann den zurückgegebenen Wert an den options.coercionType Parameter.

* Wichtig:

  • Wenn Sie Links in HTML-Markup einfügen, können Sie die Online-Linkvorschau deaktivieren, indem Sie das id Attribut für den Anker (<a>) auf "LPNoLP" setzen. Beispiel: '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.

  • SVG-Dateien werden nicht unterstützt. Verwenden Sie stattdessen JPG- oder PNG-Dateien.

  • Die setSelectedDataAsync Methode unterstützt kein Inline-CSS. Verwenden Sie stattdessen internes oder externes CSS.

  • Die setSelectedDataAsync Methode wird für eine Nachricht, die derzeit mit der loadItemByIdAsync Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter "Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten".

Fehler:

  • DataExceedsMaximumSize : Der data Parameter ist länger als 1.000.000 Zeichen.

  • InvalidFormatError : Der options.coercionType Parameter ist festgelegt Office.CoercionType.Html und der Nachrichtentext ist im Nur-Text-Format.