Automatisches Festlegen des Betreffs einer neuen Nachricht oder eines neuen Termins

Müssen Sie allen Ihren Nachrichten einen erforderlichen Haftungsausschluss hinzufügen? Mit einem ereignisbasierten Add-In werden inhalte automatisch neuen Nachrichten oder Terminen hinzugefügt. Ihre Benutzer können sich auf das Schreiben statt auf Compliance konzentrieren.

In den folgenden Abschnitten erfahren Sie, wie Sie ein Add-In entwickeln, das die OnNewMessageCompose Ereignisse und OnNewAppointmentOrganizer behandelt. Am Ende dieser exemplarischen Vorgehensweise verfügen Sie über ein Add-In, das automatisch den Betreff neuer Nachrichten und Termine festlegt, die erstellt werden.

Hinweis

Die OnNewMessageCompose Ereignisse und OnNewAppointmentOrganizer wurden im Anforderungssatz 1.10 eingeführt. Informationen zum Überprüfen, ob Ihr Outlook-Client diese Ereignisse unterstützt, finden Sie unter Von Exchange-Servern und Outlook-Clients unterstützte Anforderungssätze.

Einrichten der Umgebung

Schließen Sie den Outlook-Schnellstart ab , der ein Add-In-Projekt mit dem Yeoman-Generator für Office-Add-Ins erstellt.

Konfigurieren des Manifests

Wählen Sie zum Konfigurieren des Manifests die Registerkarte für den Typ des verwendeten Manifests aus.

  1. Öffnen Sie die manifest.json Datei.

  2. Fügen Sie dem Array "extensions.runtimes" das folgende -Objekt hinzu. Beachten Sie Folgendes zu diesem Markup:

    • Die "minVersion" des Postfachanforderungssatzes ist auf "1.10" konfiguriert, da dies die niedrigste Version des Anforderungssatzes ist, die die OnNewMessageCompose Ereignisse und OnNewAppointmentOrganizer unterstützt.

    • Die "id" der Laufzeit wird auf den beschreibenden Namen "autorun_runtime" festgelegt.

    • Die Eigenschaft "code" verfügt über eine untergeordnete "page"-Eigenschaft, die auf eine HTML-Datei festgelegt ist, und eine untergeordnete "script"-Eigenschaft, die auf eine JavaScript-Datei festgelegt ist. Sie erstellen oder bearbeiten diese Dateien in späteren Schritten. Office verwendet je nach Plattform einen dieser Werte.

      • Office unter Windows führt die Ereignishandler in einer reinen JavaScript-Runtime aus, die eine JavaScript-Datei direkt lädt.
      • Office auf Mac und im Web sowie das neue Outlook unter Windows führen die Handler in einer Browserruntime aus, die eine HTML-Datei lädt. Diese Datei enthält wiederum ein <script> Tag, das die JavaScript-Datei lädt.

      Weitere Informationen finden Sie unter Runtimes in Office-Add-Ins.

    • Die Eigenschaft "lifetime" ist auf "short" festgelegt. Dies bedeutet, dass die Laufzeit gestartet wird, wenn eines der Ereignisse ausgelöst wird, und nach Abschluss des Handlers heruntergefahren wird. (In bestimmten seltenen Fällen wird die Runtime heruntergefahren, bevor der Handler abgeschlossen ist. Siehe Runtimes in Office-Add-Ins.)

    • Es gibt zwei Arten von "Aktionen", die in der Runtime ausgeführt werden können. In einem späteren Schritt erstellen Sie Funktionen, die diesen Aktionen entsprechen.

     {
        "requirements": {
            "capabilities": [
                {
                    "name": "Mailbox",
                    "minVersion": "1.10"
                }
            ]
        },
        "id": "autorun_runtime",
        "type": "general",
        "code": {
            "page": "https://localhost:3000/commands.html",
            "script": "https://localhost:3000/launchevent.js"
        },
        "lifetime": "short",
        "actions": [
            {
                "id": "onNewMessageComposeHandler",
                "type": "executeFunction",
                "displayName": "onNewMessageComposeHandler"
            },
            {
                "id": "onNewAppointmentComposeHandler",
                "type": "executeFunction",
                "displayName": "onNewAppointmentComposeHandler"
            }
        ]
    }
    
  3. Fügen Sie das folgende "autoRunEvents"-Array als Eigenschaft des Objekts im Array "extensions" hinzu.

    "autoRunEvents": [
    
    ]
    
  4. Fügen Sie dem Array "autoRunEvents" das folgende -Objekt hinzu. Die Eigenschaft "events" ordnet Handler ereignissen zu, wie in der Tabelle weiter oben in diesem Artikel beschrieben. Die Handlernamen müssen mit denen übereinstimmen, die in einem früheren Schritt in den "id"-Eigenschaften der Objekte im Array "actions" verwendet wurden.

      {
          "requirements": {
              "capabilities": [
                  {
                      "name": "Mailbox",
                      "minVersion": "1.10"
                  }
              ],
              "scopes": [
                  "mail"
              ]
          },
          "events": [
              {
                  "type": "newMessageComposeCreated",
                  "actionId": "onNewMessageComposeHandler"
              },
              {
                  "type": "newAppointmentOrganizerCreated",
                  "actionId": "onNewAppointmentComposeHandler"
              }
          ]
      }
    

Tipp

Implementieren der Ereignisbehandlung

  1. Erstellen Sie aus demselben Schnellstartprojekt einen neuen Ordner namens launchevent im Verzeichnis ./src .

  2. Erstellen Sie im Ordner ./src/launchevent eine neue Datei mit dem Namen launchevent.js.

  3. Öffnen Sie die Datei ./src/launchevent/launchevent.js in Ihrem Code-Editor, und fügen Sie den folgenden JavaScript-Code hinzu.

    /*
    * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
    * See LICENSE in the project root for license information.
    */
    
    function onNewMessageComposeHandler(event) {
      setSubject(event);
    }
    function onNewAppointmentComposeHandler(event) {
      setSubject(event);
    }
    function setSubject(event) {
      Office.context.mailbox.item.subject.setAsync(
        "Set by an event-based add-in!",
        {
          "asyncContext": event
        },
        function (asyncResult) {
          // Handle success or error.
          if (asyncResult.status !== Office.AsyncResultStatus.Succeeded) {
            console.error("Failed to set subject: " + JSON.stringify(asyncResult.error));
          }
    
          // Call event.completed() to signal to the Outlook client that the add-in has completed processing the event.
          asyncResult.asyncContext.completed();
        });
    }
    
    // IMPORTANT: To ensure your add-in is supported in Outlook, remember to map the event handler name specified in the manifest to its JavaScript counterpart.
    Office.actions.associate("onNewMessageComposeHandler", onNewMessageComposeHandler);
    Office.actions.associate("onNewAppointmentComposeHandler", onNewAppointmentComposeHandler);
    
  4. Speichern Sie Ihre Änderungen.

Hinweis

Es gibt einige Einschränkungen, die Sie beachten müssen, wenn Sie ein ereignisbasiertes Add-In für das klassische Outlook unter Windows entwickeln. Weitere Informationen finden Sie unter Ereignisbasiertes Aktivierungsverhalten und Einschränkungen.

Aktualisieren der HTML-Datei für Befehle

  1. Öffnen Sie im Ordner ./src/commandscommands.html.

  2. Fügen Sie unmittelbar vor dem schließenden Headtag (</head>) einen Skripteintrag hinzu, um den JavaScript-Code für die Ereignisbehandlung einzuschließen.

    <script type="text/javascript" src="../launchevent/launchevent.js"></script>
    
  3. Speichern Sie Ihre Änderungen.

Aktualisieren der Webpack-Konfigurationseinstellungen

  1. Öffnen Sie die webpack.config.js Datei im Stammverzeichnis des Projekts, und führen Sie die folgenden Schritte aus.

  2. Suchen Sie das plugins Array innerhalb des config Objekts, und fügen Sie dieses neue Objekt am Anfang des Arrays hinzu.

    new CopyWebpackPlugin({
      patterns: [
        {
          from: "./src/launchevent/launchevent.js",
          to: "launchevent.js",
        },
      ],
    }),
    
  3. Speichern Sie Ihre Änderungen.

Probieren Sie es aus

  1. Führen Sie die folgenden Befehle im Stammverzeichnis Ihres Projekts aus. Wenn Sie ausführen npm start, wird der lokale Webserver gestartet (sofern er noch nicht ausgeführt wird), und Ihr Add-In wird quergeladen.

    npm run build
    
    npm start
    

    Hinweis

    Wenn Ihr Add-In nicht automatisch quergeladen wurde, befolgen Sie die Anweisungen unter Querladen von Outlook-Add-Ins zum Testen , um das Add-In in Outlook manuell querzuladen.

  2. Erstellen Sie in Outlook im Web oder in neuem Outlook unter Windows eine neue Nachricht.

    Ein Nachrichtenfenster in Outlook im Web, in dem der Betreff beim Verfassen festgelegt ist.

  3. Erstellen Sie in Outlook auf der neuen Mac-Benutzeroberfläche eine neue Nachricht.

    Ein Nachrichtenfenster in Outlook auf der neuen Mac-Benutzeroberfläche, in dem der Betreff beim Verfassen festgelegt ist.

  4. Erstellen Sie im klassischen Outlook unter Windows eine neue Nachricht.

    Ein Nachrichtenfenster im klassischen Outlook unter Windows, in dem der Betreff beim Verfassen festgelegt ist.

  5. Wenn Sie den lokalen Webserver beenden und das Add-In deinstallieren möchten, befolgen Sie die entsprechenden Anweisungen:

    • Führen Sie den folgenden Befehl aus, um den Server zu beenden. Wenn Sie verwendet haben npm start, sollte auch der folgende Befehl das Add-In deinstallieren.

      npm stop
      
    • Wenn Sie das Add-In manuell quergeladen haben, lesen Sie Entfernen eines quergeladenen Add-Ins.

Nächste Schritte

Weitere Informationen zur ereignisbasierten Aktivierung und anderen Ereignissen, die Sie in Ihrem Add-In implementieren können, finden Sie unter Konfigurieren Ihres Outlook-Add-Ins für die ereignisbasierte Aktivierung.

Siehe auch