Share via


Abrufen oder Festlegen des Betreffs, wenn Sie einen Termin oder eine Nachricht in Outlook verfassen

Die Office JavaScript-API stellt asynchrone Methoden (subject.getAsync und subject.setAsync) zum Abrufen und Festlegen des Betreffs eines Termins oder einer Nachricht bereit, die der Benutzer erstellt. Diese asynchronen Methoden sind nur zum Verfassen von Add-Ins verfügbar. Um diese Methoden zu verwenden, stellen Sie sicher, dass Sie das Add-In-XML-Manifest entsprechend für Outlook eingerichtet haben, um das Add-In in Formularen zum Verfassen zu aktivieren.

Die subject -Eigenschaft ist für den Lesezugriff sowohl in Der Form zum Verfassen als auch zum Lesen von Terminen und Nachrichten verfügbar. Greifen Sie in einem Leseformular direkt über das übergeordnete Objekt auf die Eigenschaft zu, wie in:

Office.context.mailbox.item.subject;

In einem Erstellformular müssen Sie jedoch die -Methode verwenden getAsync , um den Betreff asynchron abzurufen, da sowohl der Benutzer als auch das Add-In den Betreff gleichzeitig einfügen oder ändern können.

Office.context.mailbox.item.subject.getAsync(callback);

Die subject -Eigenschaft ist für den Schreibzugriff nur in Formularen zum Verfassen und nicht in Leseformularen verfügbar.

Tipp

Verwenden Sie Office.context.mailbox.item.display.subject (Vorschau), um den im Betreff einer Nachricht angezeigten Inhalt vorübergehend im Lesemodus festzulegen.

Wie bei den meisten asynchronen Methoden in der Office JavaScript-API, getAsync und setAsync verwenden Sie optionale Eingabeparameter. Weitere Informationen zum Angeben dieser optionalen Eingabeparameter finden Sie unter "Übergeben optionaler Parameter an asynchrone Methoden" unter Asynchrone Programmierung in Office-Add-Ins.

Abrufen des Betreffs

In diesem Abschnitt sehen Sie das Beispiel eines Codes, der den Betreff des/der vom Benutzer erstellten Termins/Nachricht abruft und den Betreff anzeigt.

Um zu verwendenitem.subject.getAsync, stellen Sie eine Rückruffunktion bereit, die auf die status und das Ergebnis des asynchronen Aufrufs überprüft. Sie können alle erforderlichen Argumente für die Rückruffunktion über den optionalen asyncContext Parameter bereitstellen. Verwenden Sie asyncResult den Ausgabeparameter des Rückrufs, um die status, Ergebnisse und Fehler aus der Rückruffunktion abzurufen. Wenn der asynchrone Aufruf erfolgreich ist, verwenden Sie die Eigenschaft AsyncResult.value , um den Betreff als Nur-Text-Zeichenfolge abzurufen.

let item;

// Confirms that the Office.js library is loaded.
Office.onReady((info) => {
    if (info.host === Office.HostType.Outlook) {
        item = Office.context.mailbox.item;
        getSubject();
    }
});

// Gets the subject of the item that the user is composing.
function getSubject() {
    item.subject.getAsync((asyncResult) => {
        if (asyncResult.status === Office.AsyncResultStatus.Failed) {
            write(asyncResult.error.message);
            return;
        }

        // Display the subject on the page.
        write(`The subject is: ${asyncResult.value}`);
    });
}


// Writes to a div with id="message" on the page.
function write(message) {
    document.getElementById("message").innerText += message; 
}

Festlegen des Betreffs

In diesem Abschnitt sehen Sie das Beispiel eines Codes, der den Betreff des/der vom Benutzer erstellten Termins/Nachricht festlegt.

Um zu verwenden item.subject.setAsync, geben Sie eine Zeichenfolge mit bis zu 255 Zeichen im Parameter an data . Optional können Sie eine Rückruffunktion und alle Argumente für die Rückruffunktion im asyncContext -Parameter angeben. Überprüfen Sie den Rückruf status, das Ergebnis und alle Fehlermeldungen im asyncResult Ausgabeparameter des Rückrufs. Wenn der asynchrone Aufruf erfolgreich ist, setAsync fügt die angegebene Betreffzeichenfolge als Nur-Text ein und überschreibt alle vorhandenen Betreffs für dieses Element.

let item;

// Confirms that the Office.js library is loaded.
Office.onReady((info) => {
    if (info.host === Office.HostType.Outlook) {
        item = Office.context.mailbox.item;
        setSubject();
    }
});

// Sets the subject of the item that the user is composing.
function setSubject() {
    // Customize the subject with today's date.
    const today = new Date();
    const subject = `Summary for ${today.toLocaleDateString()}`;

    item.subject.setAsync(
        subject,
        { asyncContext: { optionalVariable1: 1, optionalVariable2: 2 } },
        (asyncResult) => {
            if (asyncResult.status === Office.AsyncResultStatus.Failed) {
                write(asyncResult.error.message);
                return;
            }

            /*
              The subject was successfully set.
              Run additional operations appropriate to your scenario and
              use the optionalVariable1 and optionalVariable2 values as needed.
            */
        });
}

// Writes to a div with id="message" on the page.
function write(message) {
    document.getElementById("message").innerText += message; 
}

Siehe auch