Freigeben über


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 ]

Bekanntes Problem mit HTML-Tabellenrahmenfarben

Outlook für Windows: Wenn Sie verschiedene Zellrahmen in einer HTML-Tabelle im Compose Modus 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

Beispiele

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

const mailItem = Office.context.mailbox.item;
const base64String =
  "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";

// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
  if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
    // Insert the Base64-encoded image to the beginning of the body.
    const options = { isInline: true, asyncContext: bodyResult.value };
    mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
      if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
        let body = attachResult.asyncContext;
        body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);

        mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
          if (setResult.status === Office.AsyncResultStatus.Succeeded) {
            console.log("Inline Base64-encoded image added to the body.");
          } else {
            console.log(setResult.error.message);
          }
        });
      } else {
        console.log(attachResult.error.message);
      }
    });
  } else {
    console.log(bodyResult.error.message);
  }
});

Methoden

getAsync(coercionType, options, callback)

Gibt den aktuellen Text in einem bestimmten Format zurück.

Diese Methode gibt den gesamten aktuellen Text in dem von coercionTypeangegebenen Format zurück.

getAsync(coercionType, callback)

Gibt den aktuellen Text in einem bestimmten Format zurück.

Diese Methode gibt den gesamten aktuellen Text in dem von coercionTypeangegebenen Format zurück.

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.

setAsync(data, options, callback)

Ersetzt den gesamten Textkörper mit dem angegebenen Text.

setAsync(data, callback)

Ersetzt den gesamten Textkörper mit dem angegebenen Text.

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 ersetzt, wenn Text im Editor ausgewählt ist, den markierten Text. Wenn sich der Cursor nie im Textkörper des Elements befand oder der Textkörper des Elements den Fokus auf der Benutzeroberfläche verloren hat, wird die Zeichenfolge oben im Textkörperinhalt 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 ersetzt, wenn Text im Editor ausgewählt ist, den markierten Text. Wenn sich der Cursor nie im Textkörper des Elements befand oder der Textkörper des Elements den Fokus auf der Benutzeroberfläche verloren hat, wird die Zeichenfolge oben im Textkörperinhalt eingefügt. Nach dem Einfügen wird der Cursor am Ende des eingefügten Inhalts platziert.

Details zur Methode

getAsync(coercionType, options, callback)

Gibt den aktuellen Text in einem bestimmten Format zurück.

Diese Methode gibt den gesamten aktuellen Text in dem von coercionTypeangegebenen Format zurück.

getAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Parameter

coercionType

Office.CoercionType | string

Das Format für den zurückgegebenen Text.

options
Office.AsyncContextOptions

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

callback

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

Optional. Nach Abschluss der Methode wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter vom Typ Office.AsyncResult aufgerufen. Der Text wird im angeforderten Format in der asyncResult.value -Eigenschaft bereitgestellt.

Gibt zurück

void

Hinweise

[ API-Satz: Postfach 1.3 ]

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose oder Lesen

Wichtig:

  • Bei der Arbeit mit Textkörpern im HTML-Format ist es wichtig zu beachten, dass der von der Body.getAsync -Methode zurückgegebene Wert nicht unbedingt genau derselbe Wert ist, der zuvor in der Body.setAsync -Methode übergeben wurde. Der Client kann den an übergebenen setAsync Wert ändern, damit er mit seiner Rendering-Engine effizient gerendert wird.

  • Wenn der Textkörper in Outlook im Web und neuen Outlook unter Windows formatierte Elemente wie Tabellen, Listen und Links enthält, geben Sie im Aufruf an Office.CoercionType.HtmlgetAsync. Andernfalls erhalten Sie möglicherweise einen unerwarteten Wert, z. B. eine leere Zeichenfolge.

Beispiele

// This example gets the body of the item as plain text.
Office.context.mailbox.item.body.getAsync(
    "text",
    { asyncContext: "This is passed to the callback" },
    function callback(result) {
        // Do something with the result.
    });

// The following is an example of the result parameter passed to the callback function.
{
    "value": "TEXT of whole body (including threads below)",
    "status": "succeeded",
    "asyncContext": "This is passed to the callback"
}

getAsync(coercionType, callback)

Gibt den aktuellen Text in einem bestimmten Format zurück.

Diese Methode gibt den gesamten aktuellen Text in dem von coercionTypeangegebenen Format zurück.

getAsync(coercionType: Office.CoercionType | string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Parameter

coercionType

Office.CoercionType | string

Das Format für den zurückgegebenen Text.

callback

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

Optional. Nach Abschluss der Methode wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter vom Typ Office.AsyncResult aufgerufen. Der Text wird im angeforderten Format in der asyncResult.value -Eigenschaft bereitgestellt.

Gibt zurück

void

Hinweise

[ API-Satz: Postfach 1.3 ]

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose oder Lesen

Wichtig:

  • Bei der Arbeit mit Textkörpern im HTML-Format ist es wichtig zu beachten, dass der von der Body.getAsync -Methode zurückgegebene Wert nicht unbedingt genau derselbe Wert ist, der zuvor in der Body.setAsync -Methode übergeben wurde. Der Client kann den an übergebenen setAsync Wert ändern, damit er mit seiner Rendering-Engine effizient gerendert wird.

  • Wenn der Textkörper in Outlook im Web und neuen Outlook unter Windows formatierte Elemente wie Tabellen, Listen und Links enthält, geben Sie im Aufruf an Office.CoercionType.HtmlgetAsync. Andernfalls erhalten Sie möglicherweise einen unerwarteten Wert, z. B. eine leere Zeichenfolge.

Beispiele

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

const mailItem = Office.context.mailbox.item;
const base64String =
  "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";

// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
  if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
    // Insert the Base64-encoded image to the beginning of the body.
    const options = { isInline: true, asyncContext: bodyResult.value };
    mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
      if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
        let body = attachResult.asyncContext;
        body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);

        mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
          if (setResult.status === Office.AsyncResultStatus.Succeeded) {
            console.log("Inline Base64-encoded image added to the body.");
          } else {
            console.log(setResult.error.message);
          }
        });
      } else {
        console.log(attachResult.error.message);
      }
    });
  } else {
    console.log(bodyResult.error.message);
  }
});

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: asyncContextEntwickler können jedes Objekt bereitstellen, auf das sie in der Rückruffunktion zugreifen möchten.

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 für Android und unter iOS wird diese Methode im Nachrichtenmodus Compose nicht unterstützt. Nur der Modus "Terminorganisation" wird unterstützt. Weitere Informationen zu unterstützten APIs in Outlook Mobile finden Sie unter In Outlook unterstützte JavaScript-APIs auf mobilen Geräten.

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 für Android und unter iOS wird diese Methode im Nachrichtenmodus Compose nicht unterstützt. Nur der Modus "Terminorganisation" wird unterstützt. Weitere Informationen zu unterstützten APIs in Outlook Mobile finden Sie unter In Outlook unterstützte JavaScript-APIs auf mobilen Geräten.

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: asyncContextEntwickler können jedes Objekt bereitstellen, auf das sie in der Rückruffunktion zugreifen möchten. 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 ]

Minimale Berechtigungsstufe: 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:

  • 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 Texts unverändert. Wenn der Cursor beispielsweise vor prependAsync dem Aufruf am Anfang des Textkörpers positioniert wurde, wird er nach dem Aufruf zwischen dem vorangestellten Inhalt und dem bereits vorhandenen Inhalt des Textkörpers angezeigt. In Outlook für Mac wird die Cursorposition nicht beibehalten. Der Cursor verschwindet nach dem prependAsync Aufruf und wird nur wieder angezeigt, wenn der Benutzer etwas im Textkörper des E-Mail-Elements auswählt.

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

  • Wenn Sie Links in HTML-Markup einschließen, können Sie die Onlinelinkvorschau deaktivieren, indem Sie das id -Attribut für den Anker (<a>) auf "LPNoLP" festlegen (ein Beispiel finden Sie im Abschnitt Beispiele).

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

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

  • Inline-CSS prependAsync wird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.

Fehler:

  • DataExceedsMaximumSize : Der Data-Parameter 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 = $("#text-field").val().toString();

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

Minimale Berechtigungsstufe: 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:

  • 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 Texts unverändert. Wenn der Cursor beispielsweise vor prependAsync dem Aufruf am Anfang des Textkörpers positioniert wurde, wird er nach dem Aufruf zwischen dem vorangestellten Inhalt und dem bereits vorhandenen Inhalt des Textkörpers angezeigt. In Outlook für Mac wird die Cursorposition nicht beibehalten. Der Cursor verschwindet nach dem prependAsync Aufruf und wird nur wieder angezeigt, wenn der Benutzer etwas im Textkörper des E-Mail-Elements auswählt.

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

  • Wenn Sie Links in HTML-Markup einschließen, können Sie die Onlinelinkvorschau deaktivieren, indem Sie das id -Attribut für den Anker (<a>) auf "LPNoLP" festlegen (ein Beispiel finden Sie im Abschnitt Beispiele).

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

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

  • Inline-CSS prependAsync wird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.

Fehler:

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

setAsync(data, options, callback)

Ersetzt den gesamten Textkörper mit dem angegebenen Text.

setAsync(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: asyncContextEntwickler können jedes Objekt bereitstellen, auf das sie in der Rückruffunktion zugreifen möchten. 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. Nach Abschluss der Methode wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter vom Typ Office.AsyncResult aufgerufen. Alle aufgetretenen Fehler werden in der asyncResult.error-Eigenschaft bereitgestellt.

Gibt zurück

void

Hinweise

[ API-Satz: Postfach 1.3 ]

Minimale Berechtigungsstufe: 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:

  • Nachdem der Textkörper durch den angegebenen Inhalt ersetzt wurde, hängt die Position des Cursors davon ab, welcher Client das Add-In ausführt. Im klassischen Outlook unter Windows wird der Cursor am Anfang des Textkörpers des E-Mail-Elements angezeigt. In Outlook im Web und dem neuen Outlook unter Windows wird der Cursor am Ende des Textkörpers des E-Mail-Elements angezeigt. In Outlook für Mac wird die Cursorposition nicht beibehalten. Der Cursor verschwindet nach dem prependAsync Aufruf und wird nur wieder angezeigt, wenn der Benutzer etwas im Textkörper des E-Mail-Elements auswählt.

  • Bei der Arbeit mit Textkörpern im HTML-Format ist es wichtig zu beachten, dass der von der Body.getAsync -Methode zurückgegebene Wert nicht unbedingt genau derselbe Wert ist, der zuvor in der Body.setAsync -Methode übergeben wurde. Der Client kann den an übergebenen setAsync Wert ändern, damit er mit seiner Rendering-Engine effizient gerendert wird.

  • Wenn Sie Links in HTML-Markup einschließen, können Sie die Onlinelinkvorschau deaktivieren, indem Sie das id -Attribut für den Anker (<a>) auf "LPNoLP" festlegen (ein Beispiel finden Sie im Abschnitt Beispiele).

  • In Outlook unter Windows (klassisch) und auf Mac kann der Add-In-Benutzer diese Aktion nicht mit dem Befehl Rückgängig rückgängig machen.

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

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

  • Inline-CSS setAsync wird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.

Fehler:

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

  • InvalidFormatError : Der options.coercionType Parameter ist auf Office.CoercionType.Html festgelegt, und der Nachrichtentext ist nur-Text.

Beispiele

// When including links in HTML markup, you can disable online link preview
// by setting the id attribute on the anchor (<a>) to "LPNoLP".
Office.context.mailbox.item.body.setAsync(
    '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>',
    { 
        coercionType: Office.CoercionType.Html,
        asyncContext: "This is passed to the callback"
    },
    (result) => {
        // Process the result.
    }
);

// The following is an example of the result parameter passed to the callback function.
{
    "value": null,
    "status": "succeeded",
    "asyncContext": "This is passed to the callback"
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml

const mailItem = Office.context.mailbox.item;
const base64String =
  "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAnUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN0S+bUAAAAMdFJOUwAQIDBAUI+fr7/P7yEupu8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF8SURBVGhD7dfLdoMwDEVR6Cspzf9/b20QYOthS5Zn0Z2kVdY6O2WULrFYLBaLxd5ur4mDZD14b8ogWS/dtxV+dmx9ysA2QUj9TQRWv5D7HyKwuIW9n0vc8tkpHP0W4BOg3wQ8wtlvA+PC1e8Ao8Ld7wFjQtHvAiNC2e8DdqHqKwCrUPc1gE1AfRVgEXBfB+gF0lcCWoH2tYBOYPpqQCNwfT3QF9i+AegJfN8CtAWhbwJagtS3AbIg9o2AJMh9M5C+SVGBvx6zAfmT0r+Bv8JMwP4kyFPir+cswF5KL3WLv14zAFBCLf56Tw9cparFX4upgaJUtPhrOS1QlY5W+vWTXrGgBFB/b72ev3/0igUdQPppP/nfowfKUUEFcP207y/yxKmgAYQ+PywoAFOfCH3A2MdCFzD3kdADBvq10AGG+pXQBgb7pdAEhvuF0AIc/VtoAK7+JciAs38KIuDugyAC/v4hiMCE/i7IwLRBsh68N2WQjMVisVgs9i5bln8LGScNcCrONQAAAABJRU5ErkJggg==";

// Get the current body of the message or appointment.
mailItem.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
  if (bodyResult.status === Office.AsyncResultStatus.Succeeded) {
    // Insert the Base64-encoded image to the beginning of the body.
    const options = { isInline: true, asyncContext: bodyResult.value };
    mailItem.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
      if (attachResult.status === Office.AsyncResultStatus.Succeeded) {
        let body = attachResult.asyncContext;
        body = body.replace("<p class=MsoNormal>", `<p class=MsoNormal><img src="cid:sample.png">`);

        mailItem.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
          if (setResult.status === Office.AsyncResultStatus.Succeeded) {
            console.log("Inline Base64-encoded image added to the body.");
          } else {
            console.log(setResult.error.message);
          }
        });
      } else {
        console.log(attachResult.error.message);
      }
    });
  } else {
    console.log(bodyResult.error.message);
  }
});

setAsync(data, callback)

Ersetzt den gesamten Textkörper mit dem angegebenen Text.

setAsync(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. Nach Abschluss der Methode wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter vom Typ Office.AsyncResult aufgerufen. Alle aufgetretenen Fehler werden in der asyncResult.error-Eigenschaft bereitgestellt.

Gibt zurück

void

Hinweise

[ API-Satz: Postfach 1.3 ]

Minimale Berechtigungsstufe: 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:

  • Nachdem der Textkörper durch den angegebenen Inhalt ersetzt wurde, hängt die Position des Cursors davon ab, welcher Client das Add-In ausführt. Im klassischen Outlook unter Windows wird der Cursor am Anfang des Textkörpers des E-Mail-Elements angezeigt. In Outlook im Web und dem neuen Outlook unter Windows wird der Cursor am Ende des Textkörpers des E-Mail-Elements angezeigt. In Outlook für Mac wird die Cursorposition nicht beibehalten. Der Cursor verschwindet nach dem prependAsync Aufruf und wird nur wieder angezeigt, wenn der Benutzer etwas im Textkörper des E-Mail-Elements auswählt.

  • Bei der Arbeit mit Textkörpern im HTML-Format ist es wichtig zu beachten, dass der von der Body.getAsync -Methode zurückgegebene Wert nicht unbedingt genau derselbe Wert ist, der zuvor in der Body.setAsync -Methode übergeben wurde. Der Client kann den an übergebenen setAsync Wert ändern, damit er mit seiner Rendering-Engine effizient gerendert wird.

  • Wenn Sie Links in HTML-Markup einschließen, können Sie die Onlinelinkvorschau deaktivieren, indem Sie das id -Attribut für den Anker (<a>) auf "LPNoLP" festlegen (ein Beispiel finden Sie im Abschnitt Beispiele).

  • In Outlook unter Windows (klassisch) und auf Mac kann der Add-In-Benutzer diese Aktion nicht mit dem Befehl Rückgängig rückgängig machen.

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

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

  • Inline-CSS setAsync wird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.

Fehler:

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

  • InvalidFormatError : Der options.coercionType Parameter ist auf Office.CoercionType.Html festgelegt, und der Nachrichtentext ist nur-Text.

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 ersetzt, wenn Text im Editor ausgewählt ist, den markierten Text. Wenn sich der Cursor nie im Textkörper des Elements befand oder der Textkörper des Elements den Fokus auf der Benutzeroberfläche verloren hat, wird die Zeichenfolge oben im Textkörperinhalt 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: asyncContextEntwickler können jedes Objekt bereitstellen, auf das sie in der Rückruffunktion zugreifen möchten. 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 ]

Minimale Berechtigungsstufe: Element lesen/schreiben

Anwendbarer Outlook-Modus: Compose

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

* Wichtig:

  • Wenn Sie Links in HTML-Markup einschließen, können Sie die Onlinelinkvorschau deaktivieren, indem Sie das id -Attribut für den Anker (<a>) auf "LPNoLP" festlegen (ein Beispiel finden Sie im Abschnitt Beispiele).

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

  • Inline-CSS setSelectedDataAsync wird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.

Fehler:

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

  • InvalidFormatError : Der options.coercionType Parameter ist auf Office.CoercionType.Html festgelegt, und der Nachrichtentext ist nur-Text.

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 = $("#text-field").val().toString();

// 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 ersetzt, wenn Text im Editor ausgewählt ist, den markierten Text. Wenn sich der Cursor nie im Textkörper des Elements befand oder der Textkörper des Elements den Fokus auf der Benutzeroberfläche verloren hat, wird die Zeichenfolge oben im Textkörperinhalt 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 ]

Minimale Berechtigungsstufe: Element lesen/schreiben

Anwendbarer Outlook-Modus: Compose

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

* Wichtig:

  • Wenn Sie Links in HTML-Markup einschließen, können Sie die Onlinelinkvorschau deaktivieren, indem Sie das id -Attribut für den Anker (<a>) auf "LPNoLP" festlegen (ein Beispiel finden Sie im Abschnitt Beispiele).

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

  • Inline-CSS setSelectedDataAsync wird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.

Fehler:

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

  • InvalidFormatError : Der options.coercionType Parameter ist auf Office.CoercionType.Html festgelegt, und der Nachrichtentext ist nur-Text.