Abrufen oder Festlegen der Uhrzeit, wenn Sie einen Termin in Outlook verfassenGet or set the time when composing an appointment in Outlook

Die JavaScript-API für Office stellt asynchrone Methoden (Time.getAsync und Time.setAsync) zum Festlegen und Abrufen der Start- oder Enddatum eines Termins bereit, die der Benutzer verfasst.The JavaScript API for Office provides asynchronous methods (Time.getAsync and Time.setAsync) to get and set the start or end time of an appointment that the user is composing. 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.These asynchronous methods are available to only compose add-ins. To use these methods, make sure you have set up the add-in manifest appropriately for Outlook to activate the add-in in compose forms, as described in Create Outlook Add-ins for compose forms.

Die Eigenschaften start und end sind für Termine sowohl in Formularen zum Verfassen als auch zum Lesen verfügbar. In einem Leseformular können Sie die Eigenschaften direkt vom übergeordneten Objekt aus aufrufen, wie in:The start and end properties are available for appointments in both compose and read forms. In a read form, you can access the properties directly from the parent object, as in:

item.start

und in:and in:

item.end

In einem Formular zum Verfassen müssen Sie zum Abrufen der Start- oder Endzeit allerdings, wie unten gezeigt, die asynchrone Methode getAsync verwenden, da der Benutzer und Ihr Add-In die Uhrzeit zur gleichen Zeit einfügen oder ändern können:But in a compose form, because both the user and your add-in can be inserting or changing the time at the same time, you must use the asynchronous method getAsync to get the start or end time, as shown below:

item.start.getAsync

und:and:

item.end.getAsync

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.As with most asynchronous methods in the JavaScript API for Office, getAsync and setAsync take optional input parameters. For more information about specifying these optional input parameters, see passing optional parameters to asynchronous methods in Asynchronous programming in Office Add-ins.

So rufen Sie die Start- oder Endzeit abTo get the start or end time

Dieser Abschnitt enthält ein Codebeispiel, das die Startzeit des Termins abruft, den der Benutzer verfasst, und die Uhrzeit anzeigt. Sie können denselben Code verwenden und die Eigenschaft start durch die Eigenschaft end ersetzen, um die Endzeit abzurufen. Bei diesem Codebeispiel wird davon ausgegangen, dass das Add-in-Manifest eine Regel enthält, welche das Add-In in einem Formular zum Verfassen für einen Termin aktiviert (siehe unten).This section shows a code sample that gets the start time of the appointment that the user is composing and displays the time. You can use the same code and replace the start property by the end property to get the end time. This code sample assumes a rule in the add-in manifest that activates the add-in in a compose form for an appointment, as shown below.

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

Um item.start.getAsync oder item.end.getAsync zu verwenden, stellen Sie eine Rückrufmethode bereit, die den Status und das Ergebnis des asynchronen Aufrufs überprüft. Sie können der Rückrufmethode über den optionalen Parameter asyncContext jedes erforderliche Argument bereitstellen. Sie können den Status, Ergebnisse und Fehler mithilfe des Ausgabeparameters asyncResult des Rückrufs abrufen. Wenn der asynchrone Aufruf erfolgreich ist, können Sie die Startzeit als Date-Objekt in UTC-Format mithilfe der AsyncResult.value-Eigenschaft abrufen.To use item.start.getAsync or item.end.getAsync, provide a callback method that checks for the status and result of the asynchronous call. You can provide any necessary arguments to the callback method through the asyncContext optional parameter. You can obtain status, results and any error using the output parameter asyncResult of the callback. If the asynchronous call is successful, you can get the start time as a Date object in UTC format using the AsyncResult.value property.

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 start time of the item being composed.
        getStartTime();
    });
}

// Get the start time of the item that the user is composing.
function getStartTime() {
    item.start.getAsync(
        function (asyncResult) {
            if (asyncResult.status == Office.AsyncResultStatus.Failed){
                write(asyncResult.error.message);
            }
            else {
                // Successfully got the start time, display it, first in UTC and 
                // then convert the Date object to local time and display that.
                write ('The start time in UTC is: ' + asyncResult.value.toString());
                write ('The start time in local time is: ' + asyncResult.value.toLocaleString());
            }
        });
}

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

So legen Sie die Start- oder Endzeit festTo set the start or end time

In diesem Abschnitt wird ein Codebeispiel gezeigt, bei dem die Startzeit des vom Benutzer verfassten Termins oder der Nachricht festgelegt wird. Sie können den gleichen Code verwenden und die start-Eigenschaft durch die end-Eigenschaft ersetzen, um die Endzeit festzulegen. Wenn das Formular zum Verfassen des Termins bereits eine Startzeit aufweist, wird durch das spätere Festlegen der Startzeit die Endzeit angepasst, sodass die vorherige Dauer des Termins bestehen bleibt. Wenn das Formular zum Verfassen des Termins bereits eine Endzeit aufweist, werden durch das spätere Festlegen der Endzeit die Dauer und die Endzeit angepasst. Wenn der Termin als ein ganztägiges Ereignis festgelegt wurde, wird die Endzeit durch das Festlegen der Startzeit auf 24 Stunden später festgelegt, und die UI für das ganztägige Ereignis im Formular zum Verfassen deaktiviert.This section shows a code sample that sets the start time of the appointment or message that the user is composing. You can use the same code and replace the start property by the end property to set the end time. Note that if the appointment compose form already has an existing start time, setting the start time subsequently will adjust the end time to maintain any previous duration for the appointment. If the appointment compose form already has an existing end time, setting the end time subsequently will adjust both the duration and end time. If the appointment has been set as an all-day event, setting the start time will adjust the end time to 24 hours later, and uncheck the UI for the all-day event in the compose form.

Ä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.Similar to the previous example, this code sample assumes a rule in the add-in manifest that activates the add-in in a compose form for an appointment.

Geben Sie zum Verwenden von item.start.setAsync oder item.end.setAsync einen DateWert in UTC im dateTime_Parameter an. Wenn Sie ein Datum auf Basis einer Eingabe des Benutzers auf dem Client erhalten, können Sie mailbox.convertToUtcClientTime verwenden, um den Wert in ein Date-Objekt in UTC umzuwandeln. Sie können im _asyncContext_Parameter eine optionale Rückrufmethode und Argumente für die Rückrufmethode angeben. Sie sollten den Status, Ergebnisse und Fehlermeldungen im _asyncResult-Ausgabeparameter des Rückrufs prüfen. Wenn der asynchrone Aufruf erfolgreich ist, fügt setAsync die angegebene Start- und Endzeitzeichenfolge als Nur-Text ein und überschreibt dabei eine ggf. vorhandene Start- oder Endzeit für dieses Element.To use item.start.setAsync or item.end.setAsync, specify a Date value in UTC in the dateTime parameter. If you get a date based on an input by the user on the client, you can use mailbox.convertToUtcClientTime to convert the value to a Date object in UTC. You can provide an optional callback method and any arguments for the callback method in the asyncContext parameter. You should check the status, result and any error message in the asyncResult output parameter of the callback. If the asynchronous call is successful, setAsync inserts the specified start or end time string as plain text, overwriting any existing start or end time for that item.

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 start time of the item being composed.
        setStartTime();
    });
}

// Set the start time of the item that the user is composing.
function setStartTime() {
    var startDate = new Date("September 27, 2012 12:30:00");

    item.start.setAsync(
        startDate,
        { asyncContext: { var1: 1, var2: 2 } },
        function (asyncResult) {
            if (asyncResult.status == Office.AsyncResultStatus.Failed){
                write(asyncResult.error.message);
            }
            else {
                // Successfully set the start time.
                // 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; 
}

Siehe auchSee also