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

Ms office 保存文件后Office.context.document.url仍为空,ms-office,office365,office-addins,office-js,javascript-api-for-office,Ms Office,Office365,Office Addins,Office Js,Javascript Api For Office,我正在为Microsoft Project开发Office任务窗格加载项,但遇到了严重的限制 创建一个新的项目文件后,我加载任务窗格应用程序,它有一个子功能,可以读取Office.context.document.url属性,该属性应该具有文件的完整路径 显然,一开始它是空的,因为它是一个未保存的项目,但在我保存项目并再次启动子函数后,url仍然是空的 我想,文档对象在保存期间的任何时候都不会重新加载。我如何手动执行此操作?如果可能的话 下面是返回项目路径的子函数: function getPr

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

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

显然,一开始它是空的,因为它是一个未保存的项目,但在我保存项目并再次启动子函数后,url仍然是空的

我想,文档对象在保存期间的任何时候都不会重新加载。我如何手动执行此操作?如果可能的话

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

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

这个问题是关于Project的,Project不支持此方法,但要动态访问Word、Excel和PPT的文件url,我建议您使用此方法

以下是如何使用它的示例:

函数getFileUrl(){ //获取当前文件的URL。 Office.context.document.getFilePropertiesAsync(函数(asyncResult){ var fileUrl=asyncResult.value.url; 如果(fileUrl==“”){ showMessage(“文件尚未保存。请保存文件并重试”); } 否则{ showMessage(fileUrl); } });
}此问题与Project有关,Project不支持此方法,但要动态访问Word、Excel和PPT的文件url,我建议您使用此方法

以下是如何使用它的示例:

函数getFileUrl(){ //获取当前文件的URL。 Office.context.document.getFilePropertiesAsync(函数(asyncResult){ var fileUrl=asyncResult.value.url; 如果(fileUrl==“”){ showMessage(“文件尚未保存。请保存文件并重试”); } 否则{ showMessage(fileUrl); } });
}刚才在我的回答中补充说,这仅在Word、Excel和PPT中受支持,不幸的是,Project中不支持,截至目前为止,Project仅具有静态属性。在发布此问题之前,试图在项目上强制执行此功能,但没有成功(显然)。有没有已知的方法可以重新启动Office.context或Office.context.document对象?有没有人知道当用户以另一个名称保存文件时,我们如何为MS Project plsIs实现获取事件的方法@Juanbalmori没有这样的事件。只是在我的回答中补充说,这仅在Word、Excel和PPT中受支持,不幸的是,Project中不支持,到目前为止,Project仅具有静态属性。确切地说。在发布此问题之前,试图在项目上强制执行此功能,但没有成功(显然)。有没有已知的方法可以重新启动Office.context或Office.context.document对象?有没有人知道当用户以另一个名称保存文件时,我们如何为MS Project plsIs实现获取事件的方法@Juanbalmori没有这样的事件。