Freigeben über


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 Nur-Add-In-Manifest entsprechend eingerichtet haben, damit Outlook das Add-In in Erstellformularen aktivieren kann.

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 verwenden item.subject.getAsync, stellen Sie eine Rückruffunktion bereit, die den 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 den Status, die Ergebnisse und alle 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ückrufstatus, das Ergebnis und alle Fehlermeldungen asyncResult im 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