Kontextbezogene Outlook-Add-Ins

Kontextbezogene Add-Ins sind Outlook-Add-Ins, die auf der Grundlage von Text in einer Nachricht oder einem Termin aktiviert werden. Mithilfe von Kontext-Add-Ins kann ein Benutzer Aufgaben im Zusammenhang mit einem E-Mail-Element initiieren, ohne das Element selbst zu verlassen. Beispielsweise kann ein Kontext-Add-In eine Zeichenfolge im Textkörper eines E-Mail-Elements auswählen, das ein Add-In für Besprechungsvorschläge öffnet.

Sie können Regeln für reguläre Ausdrücke angeben, um ein Kontext-Add-In zu aktivieren, wenn eine Übereinstimmung in bestimmten Feldern der Nachricht gefunden wird. Kontextbezogene Add-Ins werden nur im Lesemodus aktiviert. Outlook aktiviert keine Kontext-Add-Ins, wenn der Benutzer ein Element erstellt. Es gibt auch andere Szenarien, in denen Outlook Add-Ins nicht aktiviert. Weitere Informationen finden Sie unter Aktivierungsregeln für Outlook-Add-Ins.

Wichtig

Entitätsbasierte kontextbezogene Outlook-Add-Ins werden jetzt eingestellt. Als alternative Lösung können Sie Regeln für reguläre Ausdrücke in Ihrem Kontext-Add-In implementieren.

Konfigurieren des Manifests

Hinweis

Kontextbezogene Outlook-Add-Ins werden nicht unterstützt, wenn das Add-In ein einheitliches Manifest für Microsoft 365 verwendet.

Das Manifest eines Kontext-Add-Ins muss ein ExtensionPoint-Element enthalten, dessen xsi:type Attribut auf DetectedEntityfestgelegt ist. Innerhalb des <ExtensionPoint-Elements> muss das Add-In dann mithilfe des Rule-Elements , dessen xsi:type Attribut auf ItemHasRegularExpressionMatch festgelegt ist, eine Regel für reguläre Ausdrücke angeben.

Im folgenden Beispiel wird ein Add-In aktiviert, wenn ein Aktiensymbol im Textkörper des aktuellen E-Mail-Elements enthalten ist.

<ExtensionPoint xsi:type="DetectedEntity">
  <Label resid="Context.Label" />
  <SourceLocation resid="DetectedEntity.URL" />
  <Rule xsi:type="ItemHasRegularExpressionMatch" PropertyName="BodyAsPlaintext" RegExName="TickerSymbols" RegExValue="\b(NYSE|NASDAQ|AMEX):\s*[A-Za-z]+\b" />
</ExtensionPoint>

Unterstützte Zeichen in Regeln für reguläre Ausdrücke

Outlook wertet reguläre Ausdrücke basierend auf den Regeln für den JavaScript-Interpreter aus, der vom Browser- oder Webview-Steuerelement auf dem Clientcomputer verwendet wird. Aus Gründen der Übersichtlichkeit wird in diesem Artikel "Browser" verwendet, um auf "Browser- oder Webansichtssteuerelement" zu verweisen. Outlook unterstützt dieselbe Liste von Sonderzeichen, die alle XML-Prozessoren ebenfalls unterstützen. Die folgende Tabelle enthält diese Sonderzeichen. Sie können diese Zeichen in einem regulären Ausdruck verwenden, indem Sie die Escapesequenz des entsprechenden Zeichens angeben.

Zeichen Beschreibung Zu verwendende Escapesequenz
" Doppeltes Anführungszeichen &quot;
& Kaufmännisches Und-Zeichen &amp;
' Apostroph &apos;
< Kleiner-als-Zeichen &lt;
> Größer-als-Zeichen &gt;

Bewährte Methoden für das Verwenden regulärer Ausdrücke in Regeln

Beachten Sie Folgendes, wenn Sie reguläre Ausdrücke verwenden.

  • Wenn Sie eine ItemHasRegularExpressionMatch Regel für den Textkörper eines Elements angeben, sollte der reguläre Ausdruck den Text weiter filtern und nicht versuchen, den gesamten Text des Elements zurückzugeben. Die Verwendung eines regulären Ausdrucks, z .* . B. zum Abrufen des gesamten Textkörpers eines Elements, gibt nicht immer die erwarteten Ergebnisse zurück.

  • Der in einem Browser zurückgegebene Nur-Text-Körper kann sich in einem anderen geringfügig unterscheiden. Wenn Sie eine ItemHasRegularExpressionMatch-Regel mit BodyAsPlaintext als PropertyName-Attribut verwenden, sollten Sie Ihren regulären Ausdruck in allen Browsern testen, die Ihr Add-In unterstützt.

    Da unterschiedliche Browser unterschiedliche Methoden zum Abrufen des Textkörpers eines ausgewählten Elements verwenden, sollten Sie sicherstellen, dass Ihr regulärer Ausdruck die feinen Unterschiede unterstützt, die als Teil des Textkörpers zurückgegeben werden können. Beispielsweise können Browser Zeilenumbrüche unterschiedlich zurückgeben. Weitere Informationen finden Sie unter W3C-DOM-Kompatibilität – HTML.

  • Der HTML-Text eines Elements unterscheidet sich geringfügig zwischen dem klassischen Outlook unter Windows oder Outlook für Mac und Outlook im Web, auf mobilen Geräten oder dem neuen Outlook unter Windows. Definieren Sie Ihre regulären Ausdrücke sorgfältig.

  • Je nach Outlook-Client, Gerätetyp oder Eigenschaft, auf den ein regulärer Ausdruck angewendet wird, gibt es weitere bewährte Methoden und Grenzwerte für jeden der Clients, die Sie beachten sollten, wenn Sie reguläre Ausdrücke als Aktivierungsregeln entwerfen. Weitere Informationen finden Sie unter Grenzwerte für die Aktivierung und JavaScript-API für Outlook-Add-Ins.

Verwenden von Ergebnissen von regulären Ausdrücken in Ihrem JavaScript-Code

Im JavaScript-Code Ihres Add-Ins können Sie Übereinstimmungen mit einem regulären Ausdruck abrufen, indem Sie die folgenden Methoden für das aktuelle Element verwenden.

Wenn die regulären Ausdrücke ausgewertet werden, erfolgt die Rückgabe der Übereinstimmungen an Ihr Add-In in einem Arrayobjekt. Bei getRegExMatches hat dieses Objekt als ID den Namen des regulären Ausdrucks.

Hinweis

Outlook gibt keine Übereinstimmungen in einer bestimmten Reihenfolge im Array zurück. Außerdem sollten Sie nicht davon ausgehen, dass Übereinstimmungen in derselben Reihenfolge in diesem Array zurückgegeben werden, auch wenn Sie dasselbe Add-In auf jedem dieser Clients für dasselbe Element im selben Postfach ausführen.

Im Folgenden finden Sie ein Beispiel für eine Regelauflistung, die eine ItemHasRegularExpressionMatch Regel mit einem regulären Ausdruck namens videoURLenthält.

<Rule xsi:type="RuleCollection" Mode="And">
    <Rule xsi:type="ItemIs" ItemType="Message"/>
    <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="videoURL" RegExValue="http://www\.youtube\.com/watch\?v=[a-zA-Z0-9_-]{11}" PropertyName="BodyAsPlaintext"/>
</Rule>

Die getRegExMatches -Methode wird dann für die aktuelle Nachricht aufgerufen, um eine Variable videos auf die Ergebnisse der angegebenen ItemHasRegularExpressionMatch Regel festzulegen.

const videos = Office.context.mailbox.item.getRegExMatches().videoURL;

Siehe auch