如何获取新保存文件的文件名?通常,我可以使用以下命令获取文件名:
Office.context.document.url
但是,当用户打开一个新的工作簿时,它实际上没有文件名,奇怪的是这行代码即使在保存之后也不起作用。相反,他们必须保存,关闭,然后重新打开该代码的文件以读取其文件名。
有没有办法在保存后刷新Office上下文,或者为此另一种解决方法?
我们可以获取给定文档的文件路径。 getFilePropertiesAsync(options, callback)
var fileProperties = Office.context.document.getFilePropertiesAsync([, options], callback);
var fileUrl = fileProperties.url;
感谢@Nate Radebaugh指出:getFilePropertiesAsync(options, callback)
按预期工作,能够提供新保存文档的文件名。
由于我是异步/等待回调的忠实粉丝,我想我会把它添加到他的回答中:
async loadFileName() {
return new Promise((resolve) => {
Office.context.document.getFilePropertiesAsync(null, (res) => {
if (res && res.value && res.value.url) {
let name = res.value.url.substr(res.value.url.lastIndexOf('\\') + 1);
resolve(name);
}
resolve('');
})
});
}
res.value.url
返回整个文件url / path(C:\ Users \ username \ Desktop \ Book1.xlsx),在我的情况下,因为我只想要文件名(Book1.xlsx),所以我将它修剪掉。