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

Die JavaScript-API für Office 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 in Erstellungs-Add-Ins verfügbar. Vergewissern Sie sich, dass Sie das Add-In-Manifest entsprechend für Outlook eingerichtet haben, damit das Add-In in Erstellformularen aktiviert wird.

Die Eigenschaft subject ist für einen Lesezugriff sowohl in Erstell- als auch in Leseformularen für Termine und Nachrichten verfügbar. In einem Leseformular greifen Sie auf die Eigenschaft direkt aus dem übergeordneten Objekt zu, wie in:

item.subject

Da der Benutzer und Ihr Add-In in einem Erstellformular jedoch gleichzeitig den Betreff einfügen oder ändern können, müssen Sie die asynchrone Methode getAsync verwenden, um den Betreff abzurufen, siehe unten:

item.subject.getAsync

Die Eigenschaft subject ist für einen Schreibzugriff nur in Entwurfsvorlagen, und nicht in Leseformularen, verfügbar.

Wie die meisten asynchronen Methoden in der JavaScript-API für Office verwenden getAsync und setAsync optionale Eingabeparameter. Weitere Informationen zum Festlegen dieser optionalen Eingabeparameter finden Sie unter „Übergeben optionaler Parameter an asynchrone Methoden“ in Asynchrone Programmierung in Office-Add-Ins.

Betreff abrufen

In diesem Abschnitt sehen Sie das Beispiel eines Codes, der den Betreff des/der vom Benutzer erstellten Termins/Nachricht abruft und den Betreff anzeigt. Bei diesem Codebeispiel wird von einer Regel im Add-In-Manifest ausgegangen, die das Add-In in einer Entwurfsvorlage für einen Termin/eine Nachricht aktiviert, wie unten dargestellt.

<Rule xsi:type="RuleCollection" Mode="Or">
  <Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Edit"/>
  <Rule xsi:type="ItemIs" ItemType="Message" FormType="Edit"/>
</Rule>

Wenn Sie item.subject.getAsync verwenden möchten, stellen Sie eine Rückrufmethode bereit, die den Status und das Ergebnis des asynchronen Aufrufs prüft. Sie können beliebige Argumente für die Rückrufmethode über die optionalen asyncContext-Parameter bereitstellen. Sie rufen Status, Ergebnisse und etwaige Fehler über den asyncResult-Ausgabeparameter des Rückrufs ab. Ist der asynchrone Aufruf erfolgreich, erhalten Sie über die Eigenschaft AsyncResult.value den Betreff als einfache Textzeichenfolge.

var item;

Office.initialize = function () {
    item = Office.context.mailbox.item;
    // Checks for the DOM to load using the jQuery ready function.
    $(document).ready(function () {
        // After the DOM is loaded, app-specific code can run.
        // Get the subject of the item being composed.
        getSubject();
    });
}

// Get the subject of the item that the user is composing.
function getSubject() {
    item.subject.getAsync(
        function (asyncResult) {
            if (asyncResult.status == Office.AsyncResultStatus.Failed){
                write(asyncResult.error.message);
            }
            else {
                // Successfully got the subject, display it.
                write ('The subject is: ' + asyncResult.value);
            }
        });
}

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

Betreff festlegen

In diesem Abschnitt sehen Sie das Beispiel eines Codes, der den Betreff des/der vom Benutzer erstellten Termins/Nachricht festlegt. Ähnlich wie im vorherigen Beispiel geht dieses Codebeispiel von einer Regel im Add-In-Manifest aus, die das Add-In in einer Entwurfsvorlage für einen Termin/eine Nachricht aktiviert.

Wenn Sie item.subject.setAsync verwenden möchten, geben Sie eine Zeichenfolge mit bis zu 255 Zeichen in den Datenparameter ein. Sie können auch eine Rückrufmethode und Argumente für die Rückrufmethode im asyncContext-Parameter bereitstellen. Prüfen Sie Status, Ergebnis und etwaige Fehlermeldungen im asyncResult-Ausgabeparameter des Rückrufs. Ist der asynchrone Aufruf erfolgreich, fügt setAsync die angegebene Betreffzeichenfolge als einfachen Text ein, der einen vorhandenen Betreff zu diesem Element überschreibt.

var item;

Office.initialize = function () {
    item = Office.context.mailbox.item;
    // Checks for the DOM to load using the jQuery ready function.
    $(document).ready(function () {
        // After the DOM is loaded, app-specific code can run.
        // Set the subject of the item being composed.
        setSubject();
    });
}

// Set the subject of the item that the user is composing.
function setSubject() {
    var today = new Date();
    var subject;

    // Customize the subject with today's date.
    subject = 'Summary for ' + today.toLocaleDateString();

    item.subject.setAsync(
        subject,
        { asyncContext: { var1: 1, var2: 2 } },
        function (asyncResult) {
            if (asyncResult.status == Office.AsyncResultStatus.Failed){
                write(asyncResult.error.message);
            }
            else {
                // Successfully set the subject.
                // Do whatever appropriate for your scenario
                // using the arguments var1 and var2 as applicable.
            }
        });
}

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

Zusätzliche Ressourcen