我对此很陌生,如果这是一个愚蠢的问题,我们感到抱歉。
我正在尝试创建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;
}

10-06 06:17