保存文件后,Office.context.document.url仍为空

时间:2016-09-07 14:24:46

标签: ms-office office365 office-addins office-js javascript-api-for-office

我正在为Microsoft Project开发Office任务窗格加载项,但我遇到了严重的限制。

创建新项目文件后,我加载任务窗格应用程序,该应用程序有一个子功能,读取 Office.context.document.url 属性,该属性应具有文件。

显然,起初它是空的,因为它是一个未保存的项目,但在我保存项目后,再次触发子函数,网址仍为空。

我想,在保存期间,文档对象不会在任何时候重新加载。我怎样才能手动完成?如果有可能......

这是返回项目路径的子函数:

function getProjectPath() {
    var documenturl = Office.context.document.url;
    if (documenturl == null || documenturl == "") {
        return "";
    }
    else {
        return documenturl;
    }
}

1 个答案:

答案 0 :(得分:1)

这个问题是关于Project,它不支持这种方法,但是要动态访问Word,Excel和PPT的文件URL,我建议你使用getFilePropertiesAsync方法。

这是一个如何使用它的示例:



function getFileUrl() {
    //Get the URL of the current file.
    Office.context.document.getFilePropertiesAsync(function (asyncResult) {
        var fileUrl = asyncResult.value.url;
        if (fileUrl == "") {
            showMessage("The file hasn't been saved yet. Save the file and try again");
        }
        else {
            showMessage(fileUrl);
        }
    });
}