我正在为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的,谁不支持这个方法,但是要动态访问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);
}
});
}