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
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 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
// 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
| append |
Fügt beim Senden des angegebenen Inhalts an das Ende des Elementtexts nach einer beliebigen Signatur an. Um zu verwenden |
| append |
Fügt beim Senden des angegebenen Inhalts an das Ende des Elementtexts nach einer beliebigen Signatur an. Um zu verwenden |
| get |
Gibt den gesamten aktuellen Text in dem von |
| get |
Gibt den gesamten aktuellen Text in dem von |
| get |
Ruft einen Wert ab, der angibt, ob der Inhalt HTML- oder Textformat aufweist. |
| get |
Ruft einen Wert ab, der angibt, ob der Inhalt HTML- oder Textformat aufweist. |
| prepend |
Fügt den angegebenen Inhalt am Anfang des Elementkörpers hinzu. |
| prepend |
Fügt den angegebenen Inhalt am Anfang des Elementkörpers hinzu. |
| prepend |
Stellt HTML- oder Nur-Text am Anfang einer Nachricht oder eines Termins vor, wenn das E-Mail-Element gesendet wird. Um zu verwenden |
| prepend |
Stellt HTML- oder Nur-Text am Anfang einer Nachricht oder eines Termins vor, wenn das E-Mail-Element gesendet wird. Um zu verwenden |
| set |
Ersetzt den gesamten Textkörper mit dem angegebenen Text. |
| set |
Ersetzt den gesamten Textkörper mit dem angegebenen Text. |
| set |
Ersetzt die Auswahl im Textkörper mit dem angegebenen Text. Die |
| set |
Ersetzt die Auswahl im Textkörper mit dem angegebenen Text. Die |
| set |
Fügt dem Elementtext eine Signatur hinzu, wenn keine signatur vorhanden ist. Wenn bereits eine Signatur im Text vorhanden ist, ersetzt diese Signatur. |
| set |
Fügt dem Elementtext eine Signatur hinzu, wenn keine signatur vorhanden ist. Wenn bereits eine Signatur im Text vorhanden ist, ersetzt diese Signatur. |
Details zur Methode
appendOnSendAsync(data, options, callback)
Fügt beim Senden des angegebenen Inhalts an das Ende des Elementtexts nach einer beliebigen Signatur an.
Um zu verwenden appendOnSendAsync, müssen Sie eine zusätzliche Berechtigung im Manifest angeben. Details variieren je nach Art des Manifests. Weitere Informationen finden Sie unter Grundlegendes zu Outlook-Add-In-Berechtigungen. Weitere Informationen zu append-on-send und dessen Konfiguration finden Sie unter Implementieren von "append-on-send" in Ihrem Outlook-Add-In.
appendOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parameter
- data
-
string
Die Zeichenfolge, die am Ende des Textkörpers hinzugefügt werden soll. Die Zeichenfolge ist auf 5.000 Zeichen beschränkt.
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 die anzufügenden Daten. 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
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:
Wenn der Benutzer Add-Ins ausführt, die das On-Send-Feature mit
ItemSendim Manifest implementieren, wird append-on-send vor der On-Send-Funktion ausgeführt.Wenn Ihr Add-In das On-Send-Feature implementiert und im Handler aufruft
appendOnSendAsync, gibt derappendOnSendAsyncAufruf einen Fehler zurück, da dieses Szenario nicht unterstützt wird.ItemSendUm Daten aus einem vorherigen
appendOnSendAsyncAufruf zu löschen, können Sie sie erneut aufrufen, wobei derdataParameter aufnullfestgelegt ist.SVG-Dateien werden nicht unterstützt. Verwenden Sie stattdessen JPG- oder PNG-Dateien.
Inline-CSS
appendOnSendAsyncwird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.Die
appendOnSendAsync-Methode wird für eine Nachricht, die derzeit mit derloadItemByIdAsync-Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten.
Fehler:
DataExceedsMaximumSize: DerdataParameter ist länger als 5.000 Zeichen.InvalidFormatError: Deroptions.coercionType-Parameter ist aufOffice.CoercionType.Htmlfestgelegt, aber der Nachrichtentext ist nur-Text.
Beispiele
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/append-text-on-send.yaml
// This snippet appends text to the end of the message or appointment's body once it's sent.
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 appendOnSendAsync 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.appendOnSendAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" will be appended to the body once the message or appointment is sent. Send the mail item to test this feature.`);
});
});
appendOnSendAsync(data, callback)
Fügt beim Senden des angegebenen Inhalts an das Ende des Elementtexts nach einer beliebigen Signatur an.
Um zu verwenden appendOnSendAsync, müssen Sie eine zusätzliche Berechtigung im Manifest angeben. Details variieren je nach Art des Manifests. Weitere Informationen finden Sie unter Grundlegendes zu Outlook-Add-In-Berechtigungen. Weitere Informationen zu append-on-send und dessen Konfiguration finden Sie unter Implementieren von "append-on-send" in Ihrem Outlook-Add-In.
appendOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parameter
- data
-
string
Die Zeichenfolge, die am Ende des Textkörpers hinzugefügt werden soll. Die Zeichenfolge ist auf 5.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
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:
Wenn der Benutzer Add-Ins ausführt, die das On-Send-Feature mit
ItemSendim Manifest implementieren, wird append-on-send vor der On-Send-Funktion ausgeführt.Wenn Ihr Add-In das On-Send-Feature implementiert und im Handler aufruft
appendOnSendAsync, gibt derappendOnSendAsyncAufruf einen Fehler zurück, da dieses Szenario nicht unterstützt wird.ItemSendUm Daten aus einem vorherigen
appendOnSendAsyncAufruf zu löschen, können Sie sie erneut aufrufen, wobei derdataParameter aufnullfestgelegt ist.SVG-Dateien werden nicht unterstützt. Verwenden Sie stattdessen JPG- oder PNG-Dateien.
Inline-CSS
appendOnSendAsyncwird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.Die
appendOnSendAsync-Methode wird für eine Nachricht, die derzeit mit derloadItemByIdAsync-Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten.
Fehler:
DataExceedsMaximumSize: DerdataParameter ist länger als 5.000 Zeichen.InvalidFormatError: Deroptions.coercionType-Parameter ist aufOffice.CoercionType.Htmlfestgelegt, aber der Nachrichtentext ist nur-Text.
getAsync(coercionType, options, callback)
Gibt den gesamten aktuellen Text in dem von coercionTypeangegebenen Format zurück.
getAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions & { bodyMode?: MailboxEnums.BodyMode }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Parameter
- coercionType
-
Office.CoercionType | string
Das Format für den zurückgegebenen Text.
- options
-
Office.AsyncContextOptions & { bodyMode?: Office.MailboxEnums.BodyMode }
Ein Objektliteral, das mindestens eine der folgenden Eigenschaften enthält.
asyncContext
: Alle Daten, auf die Sie in der Rückruffunktion zugreifen möchten.
bodyMode
: Gibt in Outlook im Web auf mobilen Geräten und im neuen Outlook unter Windows an, ob nur der Textkörper der aktuellen Nachricht oder der gesamte Textkörper einer Nachrichtenunterhaltung zurückgegeben wird. Wenn kein Wert angegeben wird, wird standardmäßig auf Office.MailboxEnums.BodyMode.FullBodyfestgelegt, bodyMode wodurch der gesamte Text einer Nachrichtenunterhaltung zurückgegeben wird. Die bodyMode -Eigenschaft gilt nur für Antworten auf der Oberfläche message Compose. Sie wird in Outlook unter Windows (klassisch) und auf Mac ignoriert.
- 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
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 derBody.setAsync-Methode übergeben wurde. Der Client kann den an übergebenensetAsyncWert ändern, damit er mit seiner Rendering-Engine effizient gerendert wird.In Outlook im Web und dem neuen Outlook unter Windows bietet die
getAsyncAngabeOffice.CoercionType.Textim Aufruf möglicherweise nicht immer eine zuverlässige Formatierung. Geben SieOffice.CoercionType.Htmlstattdessen insbesondere an, wenn der Text formatierte Elemente wie Tabellen, Listen und Links enthält.In Outlook im Web und im neuen Outlook unter Windows können Benutzer ihre Nachrichten als Unterhaltungen oder einzelne Nachrichten unter Einstellungen>E-Mail-LayoutNachricht>>organization organisieren (siehe Ändern der Anzeige der Nachrichtenliste in Outlook). Diese Einstellung wirkt sich darauf aus, wie viel text einer Nachricht dem Benutzer angezeigt wird (d. a. der gesamte Unterhaltungsthread einer Nachricht oder nur die aktuelle Nachricht). Wenn der zurückgegebene Textkörper die Einstellung des Benutzers widerspiegeln soll, geben Sie im Modus Nachrichten Compose, insbesondere für Antworten auf einen Unterhaltungsthread mit mehreren Nachrichten, den
bodyMode: Office.MailboxEnums.BodyMode.HostConfigParameter in IhremgetAsyncAufruf an. Wenn Nachrichten nach Unterhaltung gruppiert sind, wird nur der Text der aktuellen Antwort zurückgegeben. Wenn Hingegen Nachrichten einzeln angezeigt werden, wird der gesamte Konversationsthread zurückgegeben.In Outlook auf mobilen Geräten ist die
bodyModeEigenschaft ab Version 4.2538.0 verfügbar.In Outlook auf mobilen Geräten gibt die Angabe
bodyMode: Office.MailboxEnums.BodyMode.HostConfigden Text der aktuellen Antwort zurück.In Outlook auf mobilen Geräten wird im Schnellantwortmodus (dem Antwortfeld am unteren Rand der Nachricht) nur der Text der aktuellen Antwort zurückgegeben. Dies gilt auch, wenn
bodyMode: Office.MailboxEnums.BodyMode.FullBodyimgetAsyncAufruf angegeben ist.Die
bodyModeOption wird für eine Nachricht, die mit derloadItemByIdAsync-Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten.
getAsync(coercionType, callback)
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
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 derBody.setAsync-Methode übergeben wurde. Der Client kann den an übergebenensetAsyncWert ändern, damit er mit seiner Rendering-Engine effizient gerendert wird.In Outlook im Web und dem neuen Outlook unter Windows bietet die
getAsyncAngabeOffice.CoercionType.Textim Aufruf möglicherweise nicht immer eine zuverlässige Formatierung. Geben SieOffice.CoercionType.Htmlstattdessen insbesondere an, wenn der Text formatierte Elemente wie Tabellen, Listen und Links enthält.In Outlook im Web und im neuen Outlook unter Windows können Benutzer ihre Nachrichten als Unterhaltungen oder einzelne Nachrichten unter Einstellungen>E-Mail-LayoutNachricht>>organization organisieren (siehe Ändern der Anzeige der Nachrichtenliste in Outlook). Diese Einstellung wirkt sich darauf aus, wie viel text einer Nachricht dem Benutzer angezeigt wird (d. a. der gesamte Unterhaltungsthread einer Nachricht oder nur die aktuelle Nachricht). Wenn der zurückgegebene Textkörper die Einstellung des Benutzers widerspiegeln soll, geben Sie im Modus Nachrichten Compose, insbesondere für Antworten auf einen Unterhaltungsthread mit mehreren Nachrichten, den
bodyMode: Office.MailboxEnums.BodyMode.HostConfigParameter in IhremgetAsyncAufruf an. Wenn Nachrichten nach Unterhaltung gruppiert sind, wird nur der Text der aktuellen Antwort zurückgegeben. Wenn Hingegen Nachrichten einzeln angezeigt werden, wird der gesamte Konversationsthread zurückgegeben.In Outlook auf mobilen Geräten ist die
bodyModeEigenschaft ab Version 4.2538.0 verfügbar.In Outlook auf mobilen Geräten gibt die Angabe
bodyMode: Office.MailboxEnums.BodyMode.HostConfigden Text der aktuellen Antwort zurück.In Outlook auf mobilen Geräten wird im Schnellantwortmodus (dem Antwortfeld am unteren Rand der Nachricht) nur der Text der aktuellen Antwort zurückgegeben. Dies gilt auch, wenn
bodyMode: Office.MailboxEnums.BodyMode.FullBodyimgetAsyncAufruf angegeben ist.
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.");
});
});
});
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
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
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.
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
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
prependAsyncdem 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 demprependAsyncAufruf 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
prependAsyncwird. Dies bedeutet, dass der Wert, der von einem nachfolgenden Aufruf derBody.getAsync-Methode zurückgegeben wird (eingeführt in Mailbox 1.3), nicht unbedingt den genauen Wert enthält, der im vorherigenprependAsyncAufruf ü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
prependAsyncwird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.Die
prependAsync-Methode wird für eine Nachricht, die derzeit mit derloadItemByIdAsync-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.
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
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
prependAsyncdem 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 demprependAsyncAufruf 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
prependAsyncwird. Dies bedeutet, dass der Wert, der von einem nachfolgenden Aufruf derBody.getAsync-Methode zurückgegeben wird (eingeführt in Mailbox 1.3), nicht unbedingt den genauen Wert enthält, der im vorherigenprependAsyncAufruf ü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
prependAsyncwird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.Die
prependAsync-Methode wird für eine Nachricht, die derzeit mit derloadItemByIdAsync-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.
prependOnSendAsync(data, options, callback)
Stellt HTML- oder Nur-Text am Anfang einer Nachricht oder eines Termins vor, wenn das E-Mail-Element gesendet wird.
Um zu verwenden prependOnSendAsync, müssen Sie eine zusätzliche Berechtigung im Manifest angeben. Details variieren je nach Art des Manifests. Eine Anleitung finden Sie unter Grundlegendes zu Outlook-Add-In-Berechtigungen.
prependOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parameter
- data
-
string
Die Zeichenfolge, die dem Anfang des Nachrichten- oder Termintexts vorangestellt werden soll. Die Zeichenfolge ist auf 5.000 Zeichen beschränkt.
Ein Objektliteral, das eine oder mehrere der folgenden Eigenschaften enthält:- asyncContext: Jedes Objekt, auf das in der Rückruffunktion zugegriffen werden kann.
coercionType
: Das gewünschte Format für den Textkörper. Die 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
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: Beachten Sie bei der Implementierung prependOnSendAsyncvon Folgendes.
In einem Smart Alerts-Add-In wird zuerst das Prepend-On-Send-Feature ausgeführt.
Nach dem vorangestellten Inhalt wird eine neue Zeile hinzugefügt.
Wenn mehrere aktive Add-Ins aufrufen
prependOnSendAsync, hängt die Reihenfolge des eingefügten Inhalts von der Reihenfolge ab, in der das Add-In ausgeführt wird. Der Inhalt des Add-Ins der letzten Ausführung wird oberhalb des zuvor vorangestellten Inhalts angezeigt.Wenn das Add-In versucht, HTML in einen Nur-Text-Text einzufügen, wird der Inhalt nicht vorangestellt. Umgekehrt wird Nur-Text in einen HTML-Text eingefügt.
SVG-Dateien werden nicht unterstützt. Verwenden Sie stattdessen JPG- oder PNG-Dateien.
Inline-CSS
prependOnSendAsyncwird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.Die
prependOnSendAsync-Methode wird für eine Nachricht, die derzeit mit derloadItemByIdAsync-Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten.
Fehler:
DataExceedsMaximumSize: DerdataParameter überschreitet 5.000 Zeichen.InvalidFormatError: Deroptions.coercionTypeParameter ist aufOffice.CoercionType.Htmlfestgelegt, aber der Elementtext weist das Nur-Text-Format auf.
Beispiele
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/prepend-text-on-send.yaml
// This snippet prepends text to the beginning of the message or appointment's body once it's sent.
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 prependOnSendAsync 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.prependOnSendAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" will be prepended to the body once the message or appointment is sent. Send the mail item to test this feature.`);
});
});
prependOnSendAsync(data, callback)
Stellt HTML- oder Nur-Text am Anfang einer Nachricht oder eines Termins vor, wenn das E-Mail-Element gesendet wird.
Um zu verwenden prependOnSendAsync, müssen Sie eine zusätzliche Berechtigung im Manifest angeben. Details variieren je nach Art des Manifests. Eine Anleitung finden Sie unter Grundlegendes zu Outlook-Add-In-Berechtigungen.
prependOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parameter
- data
-
string
Die Zeichenfolge, die dem Anfang des Nachrichten- oder Termintexts vorangestellt werden soll. Die Zeichenfolge ist auf 5.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
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: Beachten Sie bei der Implementierung prependOnSendAsyncvon Folgendes.
In einem Smart Alerts-Add-In wird zuerst das Prepend-On-Send-Feature ausgeführt.
Nach dem vorangestellten Inhalt wird eine neue Zeile hinzugefügt.
Wenn mehrere aktive Add-Ins aufrufen
prependOnSendAsync, hängt die Reihenfolge des eingefügten Inhalts von der Reihenfolge ab, in der das Add-In ausgeführt wird. Der Inhalt des Add-Ins der letzten Ausführung wird oberhalb des zuvor vorangestellten Inhalts angezeigt.Wenn das Add-In versucht, HTML in einen Nur-Text-Text einzufügen, wird der Inhalt nicht vorangestellt. Umgekehrt wird Nur-Text in einen HTML-Text eingefügt.
SVG-Dateien werden nicht unterstützt. Verwenden Sie stattdessen JPG- oder PNG-Dateien.
Inline-CSS
prependOnSendAsyncwird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.Die
prependOnSendAsync-Methode wird für eine Nachricht, die derzeit mit derloadItemByIdAsync-Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten.
Fehler:
DataExceedsMaximumSize: DerdataParameter überschreitet 5.000 Zeichen.InvalidFormatError: Deroptions.coercionTypeParameter ist aufOffice.CoercionType.Htmlfestgelegt, aber der Elementtext weist das Nur-Text-Format auf.
setAsync(data, options, callback)
Ersetzt den gesamten Textkörper mit dem angegebenen Text.
setAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions & { bodyMode?: MailboxEnums.BodyMode }, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parameter
- data
-
string
Die Zeichenfolge, die den vorhandenen Text ersetzt. Die Zeichenfolge ist auf 1.000.000 Zeichen begrenzt.
- options
-
Office.AsyncContextOptions & Office.CoercionTypeOptions & { bodyMode?: Office.MailboxEnums.BodyMode }
Ein Objektliteral, das mindestens eine der folgenden Eigenschaften enthält.
asyncContext
: Alle Daten, auf die Sie in der Rückruffunktion zugreifen möchten.
coercionType
: Das gewünschte Format für den Textkörper. Die Zeichenfolge im data Parameter wird in dieses Format konvertiert.
bodyMode
: Gibt in Outlook im Web und dem neuen Outlook unter Windows an, ob nur der Textkörper der aktuellen Nachricht oder der gesamte Textkörper einer Nachrichtenunterhaltung festgelegt ist. Wenn kein Wert angegeben wird, wird standardmäßig auf Office.MailboxEnums.BodyMode.FullBodyfestgelegt, bodyMode wodurch der gesamte Text ersetzt wird, einschließlich vorheriger Nachrichten im Unterhaltungsthread. Die bodyMode -Eigenschaft gilt nur für Antworten auf der Oberfläche message Compose. Sie wird in Outlook unter Windows (klassisch), auf Mac und auf mobilen Geräten ignoriert.
- 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
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
prependAsyncAufruf 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 derBody.setAsync-Methode übergeben wurde. Der Client kann den an übergebenensetAsyncWert ä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
setAsyncwird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.Die
setAsync-Methode wird für eine Nachricht, die derzeit mit derloadItemByIdAsync-Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten.In Outlook im Web und neuen Outlook unter Windows können Benutzer ihre Nachrichten als Unterhaltungen oder einzelne Nachrichten in Einstellungen>E-Mail-Layout>>Nachrichten organization organisieren (siehe Ändern der Anzeige der Nachrichtenliste in Outlook). Diese Einstellung wirkt sich darauf aus, wie viel text einer Nachricht dem Benutzer angezeigt wird (d. a. der gesamte Unterhaltungsthread einer Nachricht oder nur die aktuelle Nachricht). Wenn Sie im Nachrichtenmodus Compose, insbesondere bei Antworten auf einen Unterhaltungsthread mit mehr als einer Nachricht, die Einstellungen des Benutzers beim Festlegen des Nachrichtentexts berücksichtigen möchten, geben Sie den
bodyMode: Office.MailboxEnums.BodyMode.HostConfigParameter in IhremsetAsyncAnruf an. Wenn Nachrichten nach Unterhaltung gruppiert sind, wird nur der Text der aktuellen Antwort festgelegt. Wenn Nachrichten dagegen einzeln angezeigt werden, wird der gesamte Text ersetzt, einschließlich vorheriger Nachrichten im Unterhaltungsthread.Wenn die
bodyModeEigenschaft in Outlook im Web und neuen Outlook unter Windows nicht angegeben oder aufOffice.MailboxEnums.BodyMode.FullBodyfestgelegt ist, wird der gesamte Nachrichtentext, einschließlich vorheriger Nachrichten aus dem Unterhaltungsthread, ersetzt. Dies gilt auch, wenn die Nachrichten eines Benutzers nach Unterhaltung organisiert sind. In diesem Szenario wird die Einstellung des Benutzers vorübergehend in Einzelne Nachrichten geändert: Nachrichten nicht gruppieren>Nur eine einzelne Nachricht oder E-Mail als einzelne Nachrichten während des AnrufssetAsyncanzeigen. Dem Benutzer wird eine Benachrichtigung angezeigt, um sie auf diese Änderung hinzuweisen. Sobald der Aufruf abgeschlossen ist, wird die Einstellung des Benutzers wiederhergestellt.
Fehler:
DataExceedsMaximumSize: Der Data-Parameter ist länger als 1.000.000 Zeichen.InvalidFormatError: Deroptions.coercionTypeParameter ist aufOffice.CoercionType.Htmlfestgelegt, 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
// 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.");
});
});
});
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
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
prependAsyncAufruf 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 derBody.setAsync-Methode übergeben wurde. Der Client kann den an übergebenensetAsyncWert ä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
setAsyncwird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.Die
setAsync-Methode wird für eine Nachricht, die derzeit mit derloadItemByIdAsync-Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten.In Outlook im Web und neuen Outlook unter Windows können Benutzer ihre Nachrichten als Unterhaltungen oder einzelne Nachrichten in Einstellungen>E-Mail-Layout>>Nachrichten organization organisieren (siehe Ändern der Anzeige der Nachrichtenliste in Outlook). Diese Einstellung wirkt sich darauf aus, wie viel text einer Nachricht dem Benutzer angezeigt wird (d. a. der gesamte Unterhaltungsthread einer Nachricht oder nur die aktuelle Nachricht). Wenn Sie im Nachrichtenmodus Compose, insbesondere bei Antworten in einem Unterhaltungsthread mit mehreren Nachrichten, die Einstellungen des Benutzers beim Festlegen des Nachrichtentexts berücksichtigen möchten, geben Sie den
bodyMode: Office.MailboxEnums.BodyMode.HostConfigParameter in IhremsetAsyncAufruf an. Wenn Nachrichten nach Unterhaltung gruppiert sind, wird nur der Text der aktuellen Antwort festgelegt. Wenn Nachrichten dagegen einzeln angezeigt werden, wird der gesamte Text ersetzt, einschließlich vorheriger Nachrichten im Unterhaltungsthread.Wenn die
bodyModeEigenschaft in Outlook im Web und neuen Outlook unter Windows nicht angegeben oder aufOffice.MailboxEnums.BodyMode.FullBodyfestgelegt ist, wird der gesamte Nachrichtentext, einschließlich vorheriger Nachrichten aus dem Unterhaltungsthread, ersetzt. Dies gilt auch, wenn die Nachrichten eines Benutzers nach Unterhaltung organisiert sind. In diesem Szenario wird die Einstellung des Benutzers vorübergehend in Einzelne Nachrichten geändert: Nachrichten nicht gruppieren>Nur eine einzelne Nachricht oder E-Mail als einzelne Nachrichten während des AnrufssetAsyncanzeigen. Dem Benutzer wird eine Benachrichtigung angezeigt, um sie auf diese Änderung hinzuweisen. Sobald der Aufruf abgeschlossen ist, wird die Einstellung des Benutzers wiederhergestellt.
Fehler:
DataExceedsMaximumSize: Der Data-Parameter ist länger als 1.000.000 Zeichen.InvalidFormatError: Deroptions.coercionTypeParameter ist aufOffice.CoercionType.Htmlfestgelegt, 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.
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
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
setSelectedDataAsyncwird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.Die
setSelectedDataAsync-Methode wird für eine Nachricht, die derzeit mit derloadItemByIdAsync-Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten.
Fehler:
DataExceedsMaximumSize: DerdataParameter ist länger als 1.000.000 Zeichen.InvalidFormatError: Deroptions.coercionTypeParameter ist aufOffice.CoercionType.Htmlfestgelegt, 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 = (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 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
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
setSelectedDataAsyncwird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.Die
setSelectedDataAsync-Methode wird für eine Nachricht, die derzeit mit derloadItemByIdAsync-Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten.
Fehler:
DataExceedsMaximumSize: DerdataParameter ist länger als 1.000.000 Zeichen.InvalidFormatError: Deroptions.coercionTypeParameter ist aufOffice.CoercionType.Htmlfestgelegt, und der Nachrichtentext ist nur-Text.
setSignatureAsync(data, options, callback)
Fügt dem Elementtext eine Signatur hinzu, wenn keine signatur vorhanden ist. Wenn bereits eine Signatur im Text vorhanden ist, ersetzt diese Signatur.
setSignatureAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parameter
- data
-
string
Die Zeichenfolge, die die Signatur darstellt, die im Textkörper der E-Mail festgelegt werden soll. Diese Zeichenfolge ist auf 30.000 Zeichen beschränkt.
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 Format, auf das die Signatur festgelegt werden soll. Bei Text legt die Methode die Signatur auf Nur-Text fest und entfernt alle vorhandenen HTML-Tags. Bei Html legt die Methode die Signatur auf HTML fest.
- 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.
Gibt zurück
void
Hinweise
Minimale Berechtigungsstufe: Element lesen/schreiben
Anwendbarer Outlook-Modus: Compose
Wichtig:
In Outlook im Web und neuen Outlook unter Windows
setSignatureAsyncfunktioniert nur für Nachrichten.Diese Methode wird ab Version 4.2352.0 in Message Compose unter Outlook unter Android und unter iOS unterstützt. Ein Beispielszenario finden Sie unter Implementieren der ereignisbasierten Aktivierung in mobilen Outlook-Add-Ins. Weitere Informationen zu den in Outlook Mobile unterstützten APIs finden Sie unter In Outlook auf mobilen Geräten unterstützte Outlook-JavaScript-APIs.
Das Verhalten von unterscheidet sich, wenn Sie es im Ereignishandler eines Add-Ins aufrufen, das das ereignisbasierte Aktivierungsfeature mithilfe von
setSignatureAsyncLaunchEvent im Manifest implementiert. Wenn der Benutzer ein neues Element (einschließlich Antwort oder Weiterleitung) erstellt, wird die Signatur festgelegt, aber das Formular wird nicht geändert. Dies bedeutet, dass der Benutzer, der das Formular schließt, ohne weitere Änderungen vorzunehmen, nicht aufgefordert wird, Änderungen zu speichern.SVG-Dateien werden in E-Mail-Signaturen nicht unterstützt. Verwenden Sie stattdessen JPG- oder PNG-Dateien.
Inline-CSS
setSignatureAsyncwird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.Die
setSignatureAsync-Methode wird für eine Nachricht, die derzeit mit derloadItemByIdAsync-Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten.
Fehler:
DataExceedsMaximumSize: DerdataParameter ist länger als 30.000 Zeichen.InvalidFormatError: Deroptions.coercionTypeParameter ist aufOffice.CoercionType.Htmlfestgelegt, und der Nachrichtentext ist nur-Text.
Beispiele
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/work-with-client-signatures.yaml
// Set the signature for the current item with inline image.
const modIcon1Base64 = "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDRDMxMDg1MjBCNDZFMTExODE2MkM1RUI2M0M4MDYxRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTUxQjgyRjQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTUxQjgyRTQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQxMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNEMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uC/WfAAAAehJREFUeNpilCzfwEAEkAbiECA2A2J1IOaHin8E4ptAfBaIVwLxU0IGMRKw0B6IW4DYhoE4cASIK6E0VsCEQ1wUiNcB8QESLGOAqj0MxBuhZhBloS4QnwHiQAbygR/UDF1CFupCXSjHQDmQg5qli8tCUBBsQUoQ1AD8UDNFsVk4n0o+w+bT+egWglKjNymmeGhLkqLcG2oHAwtUoIuQDj5OVgZPLUmwRe5aEmAxqYqNpFgKssOcCeplM0KqdST5GfpDDRm0JfkYrj3/SE7QguyQY4ImYYLgCtAS10kHGMw6dzNsv/qC7OwCClJXYlR++v6b4er3j5QmIFcmaNlIL6AOslCIjhYKMTHQGTBBqxh6gXcgC6/R0cKbIAv30dHCfaAKGJTxHxJSqS3Fz9DkowNmywpyMcgA8fF7b8D8VWcfM6w8+4gYC+VB+RCk8hSh0gaUD4/dewvlvUWRe/z+GzGWgex4BGtiOAHxXhoHpzMoSGHZAhSPW2lo2VZYWkHOh4nEtLrIAE+hZmNUwK+B2BOIv1PRsu9QM1/jatNcBtVZ0IREKXgENesyoVYbzNIdFFi2A5tl+NqlL6BB4QBNzsSCU1A9nlAzMAALAQMOQl0qB23qWwKxIlIrDBQ394H4OBCvISYqAAIMACVibHDqsO7zAAAAAElFTkSuQmCC";
Office.context.mailbox.item.addFileAttachmentFromBase64Async(
modIcon1Base64,
"myImage.png",
{ isInline: true },
function(result) {
if (result.status == Office.AsyncResultStatus.Succeeded) {
const signature = (document.getElementById("signature") as HTMLInputElement).value + "<img src='cid:myImage.png'>";
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(
signature,
{ coercionType: "html" },
function(asyncResult) {
console.log(`setSignatureAsync: ${asyncResult.status}`);
}
);
} else {
console.error(`addFileAttachmentFromBase64Async: ${result.error}`);
}
}
);
...
// Set the signature for the current item.
const signature = (document.getElementById("signature") as HTMLInputElement).value;
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(signature, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("setSignatureAsync succeeded");
} else {
console.error(asyncResult.error);
}
});
setSignatureAsync(data, callback)
Fügt dem Elementtext eine Signatur hinzu, wenn keine signatur vorhanden ist. Wenn bereits eine Signatur im Text vorhanden ist, ersetzt diese Signatur.
setSignatureAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parameter
- data
-
string
Die Zeichenfolge, die die Signatur darstellt, die im Textkörper der E-Mail festgelegt werden soll. Diese Zeichenfolge ist auf 30.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.
Gibt zurück
void
Hinweise
Minimale Berechtigungsstufe: Element lesen/schreiben
Anwendbarer Outlook-Modus: Compose
Wichtig:
In Outlook im Web und neuen Outlook unter Windows
setSignatureAsyncfunktioniert nur für Nachrichten.Diese Methode wird ab Version 4.2352.0 in Message Compose unter Outlook unter Android und unter iOS unterstützt. Ein Beispielszenario finden Sie unter Implementieren der ereignisbasierten Aktivierung in mobilen Outlook-Add-Ins. Weitere Informationen zu den in Outlook Mobile unterstützten APIs finden Sie unter In Outlook auf mobilen Geräten unterstützte Outlook-JavaScript-APIs.
Das Verhalten von unterscheidet sich, wenn Sie es im Ereignishandler eines Add-Ins aufrufen, das das ereignisbasierte Aktivierungsfeature mithilfe von
setSignatureAsyncLaunchEvent im Manifest implementiert. Wenn der Benutzer ein neues Element (einschließlich Antwort oder Weiterleitung) erstellt, wird die Signatur festgelegt, aber das Formular wird nicht geändert. Dies bedeutet, dass der Benutzer, der das Formular schließt, ohne weitere Änderungen vorzunehmen, nicht aufgefordert wird, Änderungen zu speichern.SVG-Dateien werden in E-Mail-Signaturen nicht unterstützt. Verwenden Sie stattdessen JPG- oder PNG-Dateien.
Inline-CSS
setSignatureAsyncwird von der -Methode nicht unterstützt. Verwenden Sie stattdessen internes oder externes CSS.Die
setSignatureAsync-Methode wird für eine Nachricht, die derzeit mit derloadItemByIdAsync-Methode geladen wird, nicht unterstützt. Weitere Informationen finden Sie unter Aktivieren Ihres Outlook-Add-Ins für mehrere Nachrichten.
Fehler:
DataExceedsMaximumSize: DerdataParameter ist länger als 30.000 Zeichen.InvalidFormatError: Deroptions.coercionTypeParameter ist aufOffice.CoercionType.Htmlfestgelegt, und der Nachrichtentext ist nur-Text.