Abrufen oder Festlegen der Uhrzeit, wenn Sie einen Termin in Outlook verfassen
Die Office JavaScript-API stellt asynchrone Methoden (Time.getAsync und Time.setAsync) zum Abrufen und Festlegen der Start- oder Endzeit eines termins bereit, der zusammengestellt wird. Diese asynchronen Methoden sind nur zum Verfassen von Add-Ins verfügbar. Um diese Methoden zu verwenden, stellen Sie sicher, dass Sie das reine Add-In-Manifest des Add-Ins entsprechend eingerichtet haben, damit Outlook das Add-In in Verfassenformularen aktivieren kann, wie unter Erstellen von Outlook-Add-Ins für Verfassenformulare beschrieben.
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:
Office.context.mailbox.item.start;
Office.context.mailbox.item.end;
In einem Erstellformular müssen Sie jedoch die asynchrone Methode verwenden getAsync
, um die Start- oder Endzeit abzurufen, da sowohl der Benutzer als auch das Add-In die Uhrzeit gleichzeitig einfügen oder ändern können.
Office.context.mailbox.item.start.getAsync(callback);
Office.context.mailbox.item.end.getAsync(callback);
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 der Start- oder Endzeit
Dieser Abschnitt zeigt ein Codebeispiel, das die Startzeit des zusammengestellten Termins abruft und die Uhrzeit anzeigt. Sie können den gleichen Code verwenden, aber die start
-Eigenschaft durch die end
-Eigenschaft ersetzen, um die Endzeit abzurufen.
Um die item.start.getAsync
Methoden oder item.end.getAsync
zu verwenden, stellen Sie eine Rückruffunktion bereit, die den Status und das Ergebnis des asynchronen Aufrufs überprüft. Rufen Sie den Status, die Ergebnisse und alle Fehler mithilfe des asyncResult-Ausgabeparameters des Rückrufs ab. Wenn der asynchrone Aufruf erfolgreich ist, verwenden Sie die asyncResult.value
-Eigenschaft, um die Startzeit als Date
Objekt im UTC-Format abzurufen. Verwenden Sie den asyncContext
optionalen Parameter des Aufrufs, um alle erforderlichen Argumente für die getAsync
Rückruffunktion bereitzustellen.
let item;
// Confirms that the Office.js library is loaded.
Office.onReady((info) => {
if (info.host === Office.HostType.Outlook) {
item = Office.context.mailbox.item;
getStartTime();
}
});
// Gets the start time of the appointment being composed.
function getStartTime() {
item.start.getAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
write(asyncResult.error.message);
return;
}
// Display the start time in UTC format on the page.
write(`The start time in UTC is: ${asyncResult.value.toString()}`);
// Convert the start time to local time and display it on the page.
write(`The start time in local time is: ${asyncResult.value.toLocaleString()}`);
});
}
// Writes to a div with id="message" on the page.
function write(message) {
document.getElementById("message").innerText += message;
}
Festlegen der Start- oder Endzeit
Dieser Abschnitt zeigt ein Codebeispiel, das die Startzeit eines Termins festlegt, der zusammengestellt wird. Sie können denselben Code verwenden, aber die start
-Eigenschaft durch die end
-Eigenschaft ersetzen, um die Endzeit festzulegen. Beachten Sie, dass Änderungen an den start
Eigenschaften oder end
sich auf andere Eigenschaften des zusammengestellten Termins auswirken können.
- Wenn der zusammengestellte Termin bereits über eine Startzeit verfügt, wird durch festlegen der Startzeit anschließend die Endzeit so angepasst, dass die vorherige Dauer des Termins beibehalten wird.
- Wenn der zusammengestellte Termin bereits über eine vorhandene Endzeit verfügt, wird durch festlegen der Endzeit anschließend sowohl die Dauer als auch die Endzeit angepasst.
- Wenn der Termin als ganztägiges Ereignis festgelegt wurde, wird durch Festlegen der Startzeit die Endzeit auf 24 Stunden später angepasst und das Kontrollkästchen für das ganztägige Ereignis im Termin deaktiviert.
Um oder zu verwendenitem.start.setAsync
, geben Sie ein UTC-formatiertes Date
Objekt im -Parameter andateTime
.item.end.setAsync
Wenn Sie ein Datum basierend auf einer Eingabe des Benutzers im Client erhalten, können Sie mailbox.convertToUtcClientTime verwenden, um den Wert in ein Date
Objekt im UTC-Format zu konvertieren. Wenn Sie eine optionale Rückruffunktion bereitstellen, schließen Sie den Parameter ein asyncContext
, und fügen Sie diesem argumente hinzu. Überprüfen Sie außerdem den Status, das Ergebnis und alle Fehlermeldungen über den asyncResult
Ausgabeparameter des Rückrufs. Wenn der asynchrone Aufruf erfolgreich ist, setAsync
fügt die angegebene Start- oder Endzeitzeichenfolge als Nur-Text ein, wobei die vorhandene Start- oder Endzeit für dieses Element überschrieben wird.
Hinweis
Im klassischen Outlook unter Windows kann die setAsync
-Methode nicht verwendet werden, um die Start- oder Endzeit einer Terminserie zu ändern.
let item;
// Confirms that the Office.js library is loaded.
Office.onReady((info) => {
if (info.host === Office.HostType.Outlook) {
item = Office.context.mailbox.item;
setStartTime();
}
});
// Sets the start time of the appointment being composed.
function setStartTime() {
// Get the current date and time, then add two days to the date.
const startDate = new Date();
startDate.setDate(startDate.getDate() + 2);
item.start.setAsync(
startDate,
{ asyncContext: { optionalVariable1: 1, optionalVariable2: 2 } },
(asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log(asyncResult.error.message);
return;
}
console.log("Successfully set the start time.");
/*
Run additional operations appropriate to your scenario and
use the optionalVariable1 and optionalVariable2 values as needed.
*/
});
}
Siehe auch
- Abrufen und Festlegen von Elementdaten in einem Erstellformular in Outlook
- Abrufen und Festlegen von Outlook-Elementdaten in Formularen zum Lesen oder Verfassen
- Erstellen von Outlook-Add-Ins für Entwurfsvorlagen
- Asynchrone Programmierung in Office-Add-Ins
- Abrufen, Festlegen oder Hinzufügen von Empfängern beim Erstellen eines Termins oder einer Nachricht in Outlook
- Abrufen oder Festlegen des Betreffs, wenn Sie einen Termin oder eine Nachricht in Outlook verfassen
- Einfügen von Daten in den Textkörper bei der Erstellung eines Termins oder einer Nachricht in Outlook
- Abrufen oder Festlegen des Orts, wenn Sie einen Termin in Outlook verfassen
Office Add-ins