我对此很陌生,如果这是一个愚蠢的问题,我们感到抱歉。
我正在尝试创建Office外接程序。
我想要它做的是获取您正在开始的会议的开始时间,并将其放入HTML div中。
这是我的.js:
Office.onReady().then(function() {
var item = Office.context.mailbox.item;
getStartTime();
});
function getStartTime() {
var timeText = document.getElementById("time");
timeText.innerHTML = item.start.getAsync();
}
如果我将“ item.start.getAsync()”更改为字符串,则一切正常。
如果我将其更改为“ item.start”,则div变为“未定义”
谁能指出我正确的方向?我什至试图以正确的方式做到这一点吗?
谢谢
最佳答案
正如@PatrickHund在注释中提到的,getAsync
具有异步性质,您需要使用回调函数的结果。有关如何通过链接Get or set the time when composing an appointment in Outlook进行访问的完整示例。您的代码可能看起来像...
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('time').innerText += message;
}