Просмотр или изменение времени при создании встречи в Outlook
API JavaScript для Office предоставляет асинхронные методы (Time.getAsync и Time.setAsync) для получения и задания времени начала или окончания создаваемой встречи. Эти асинхронные методы доступны только для создания надстроек. Чтобы использовать эти методы, убедитесь, что вы настроили XML-манифест надстройки соответствующим образом для Outlook, чтобы активировать надстройку в формах создания, как описано в разделе Создание надстроек Outlook для форм создания.
Свойства start и end доступны для встреч в формах создания и чтения. в форме чтения доступ к свойствам можно получить напрямую из родительского объекта, как в следующем примере:
Office.context.mailbox.item.start;
Office.context.mailbox.item.end;
Но в форме создания, так как пользователь и надстройка могут вставлять или изменять время одновременно, необходимо использовать getAsync
асинхронный метод для получения времени начала или окончания.
Office.context.mailbox.item.start.getAsync(callback);
Office.context.mailbox.item.end.getAsync(callback);
Как и большинство асинхронных методов в API JavaScript для Office, getAsync
и setAsync
принимают необязательные входные параметры. Дополнительные сведения о том, как указать эти необязательные входные параметры, см. в разделе Передача необязательных параметров в асинхронные методы статьи Асинхронное программирование в надстройках Office.
Получение времени начала или окончания
В этом разделе показан пример кода, который получает время начала создаваемой встречи и отображает время. Вы можете использовать тот же код, но замените start
свойство свойством , end
чтобы получить время окончания.
Чтобы использовать item.start.getAsync
методы или item.end.getAsync
, предоставьте функцию обратного вызова, которая проверяет состояние и результат асинхронного вызова. Получите состояние, результаты и любую ошибку с помощью выходного параметра asyncResult обратного вызова. Если асинхронный вызов выполнен успешно, используйте asyncResult.value
свойство , чтобы получить время начала в виде Date
объекта в формате UTC. Чтобы указать все необходимые аргументы для функции обратного asyncContext
getAsync
вызова, используйте необязательный параметр вызова.
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;
}
Установка времени начала или окончания
В этом разделе показан пример кода, который задает время начала встречи. Вы можете использовать тот же код, но замените start
свойство свойством , end
чтобы задать время окончания. Обратите внимание, что изменения start
свойств или end
могут повлиять на другие свойства создаваемой встречи.
- Если составляемая встреча уже имеет существующее время начала, установка времени начала впоследствии корректирует время окончания, чтобы сохранить предыдущую продолжительность встречи.
- Если составляемая встреча уже имеет существующее время окончания, установка времени окончания впоследствии изменяет длительность и время окончания.
- Если встреча была назначена как событие на весь день, установка времени начала изменит время окончания на 24 часа позже и снимет флажок для события в течение всего дня в встрече.
Чтобы использовать item.start.setAsync
или item.end.setAsync
, укажите объект в формате Date
UTC в параметре dateTime
. Если вы получаете дату на основе введенных пользователем данных в клиенте, можно использовать mailbox.convertToUtcClientTime для преобразования значения Date
в объект в формате UTC. Если вы предоставляете необязательную функцию обратного asyncContext
вызова, включите параметр и добавьте в него любые аргументы. Кроме того, проверка состояние, результат и любое сообщение об ошибке asyncResult
через выходной параметр обратного вызова. Если асинхронный вызов выполнен успешно, setAsync
вставляет указанную строку времени начала или окончания в виде обычного текста, перезаписав любое существующее время начала или окончания для этого элемента.
Примечание.
В Outlook в Windows setAsync
метод нельзя использовать для изменения времени начала или окончания повторяющейся встречи.
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.
*/
});
}
См. также
- Просмотр и изменение данных элемента в форме создания элементов Outlook
- Просмотр и изменение данных элемента Outlook в формах просмотра и создания
- Создание надстроек Outlook для форм создания
- Асинхронное программирование надстроек Office
- Просмотр, изменение или добавление получателей при создании встречи или сообщения в Outlook
- Просмотр или изменение темы при создании встречи или сообщения в Outlook
- Вставка данных в текст при создании встречи или сообщения в Outlook
- Считывание и запись расположения при создании встречи в Outlook
Office Add-ins
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по