Abrufen oder Festlegen des Orts, wenn Sie einen Termin in Outlook verfassen

Die JavaScript-API für Office stellt asynchrone Methoden (getAsync und setAsync) zum Abrufen und Festlegen des Speicherorts eines Termins bereit, den 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, wie in Erstellen von Outlook-Add-Ins für Formulare zum Verfassen beschrieben.

Die location-Eigenschaft ist in Lese- und Erstellformularen von Terminen für den Lesezugriff verfügbar. In einem Leseformular haben Sie direkt über das übergeordnete Objekt Zugriff auf die Eigenschaft, wie beispielsweise in:

item.location

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

item.location.getAsync

Die location-Eigenschaft ist nur in Erstellformularen von Terminen für den Schreibzugriff, jedoch nicht in Leseformularen.

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 Asynchrone Programmierung in Office-Add-Ins.

So rufen Sie den Speicherort ab

In diesem Abschnitt wird ein Codebeispiel vorgestellt, das den Speicherort eines vom Benutzer erstellten Termins abruft und anzeigt. In diesem Codebeispiel wird eine Regel in dem Add-In-Manifest vorausgesetzt, die das Add-In in einem Erstellformular eines Termins aktiviert, siehe unten.

<Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Edit"/>

Zum Verwenden von item.location.getAsync müssen Sie eine Rückrufmethode bereitstellen, die den Status und das Ergebnis des asynchronen Aufrufs überprüft. Sie können der Rückrufmethode die erforderlichen Argumente über den optionalen Parameter asyncContext bereitstellen. Mithilfe des Ausgabeparameters asyncResult im Rückruf können Sie den Status, die Ergebnisse und eventuelle Fehler abrufen. Falls der asynchrone Aufruf erfolgreich erfolgt, können Sie den Speicherort mithilfe der AsyncResult.value-Eigenschaft als Zeichenfolge abrufen.

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 location of the item being composed.
        getLocation();
    });
}

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

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

So legen Sie den Speicherort fest

In diesem Abschnitt wird ein Codebeispiel vorgestellt, das den Speicherort des vom Benutzer erstellten Termins festlegt. Ähnlich wie im vorherigen Beispiel wird in diesem Codebeispiel eine Regel in dem Add-In-Manifest vorausgesetzt, die das Add-In in einem Erstellformular eines Termins aktiviert.

Geben Sie zum Verwenden von item.location.setAsync eine Zeichenfolge von bis zu 255 Zeichen in dem Datenparameter an. Optional können Sie in dem asyncContext-Parameter eine Rückrufmethode und Argumente für die Rückrufmethode bereitstellen. Im asyncResult-Ausgabeparameter des Rückrufs sollten Sie den Status, das Ergebnis und eventuelle Fehlermeldungen überprüfen. Falls der asynchrone Aufruf erfolgreich erfolgt, fügt setAsync den angegebenen Speicherort als Nur-Text-Zeichenfolge ein und überschreibt damit den vorhandenen Speicherort für dieses Element.

var item;

Office.initialize = function () {
    item = Office.context.mailbox.item;
    // Check 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 location of the item being composed.
        setLocation();
    });
}

// Set the location of the item that the user is composing.
function setLocation() {
    item.location.setAsync(
        'Conference room A',
        { asyncContext: { var1: 1, var2: 2 } },
        function (asyncResult) {
            if (asyncResult.status == Office.AsyncResultStatus.Failed){
                write(asyncResult.error.message);
            }
            else {
                // Successfully set the location.
                // 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