gpt4 book ai didi

javascript - Word 加载项 : Get whole document but File. getSliceAsync 方法未返回

转载 作者:行者123 更新时间:2023-11-28 05:03:31 27 4
gpt4 key购买 nike

我正在创建 Office 加载项,但在使用 Word Online 中的 javascript file.getFileAsync 方法时遇到问题(Word 2013 桌面版没问题)。

我正在使用来自 github 的示例代码...

https://github.com/OfficeDev/office-js-docs/blob/master/docs/word/get-the-whole-document-from-an-add-in-for-powerpoint-or-word.md

我的代码看起来像这样...

function getFile() {
Office.context.document.getFileAsync(Office.FileType.Text,
{ sliceSize: 65536},
function (result) {

if (result.status == Office.AsyncResultStatus.Succeeded) {

// Get the File object from the result.
var myFile = result.value;
var state = {
file: myFile,
counter: 0,
sliceCount: myFile.sliceCount
};

getSlice(state);
}
});
}

function getSlice(state) {
state.file.getSliceAsync(state.counter, function (result) {
if (result.status == Office.AsyncResultStatus.Succeeded) {
sendSlice(result.value, state);
state.file.closeAsync();
}
else if(result.status == 'failed')
state.file.closeAsync();
});
}

在调用 file.getSliceAsync 之前,数据看起来不错 - myFile.sliceCount 为 1。结果函数从未被调用,并且控制台中不会抛出任何错误。

感谢您提供的任何帮助!

最佳答案

更新:此问题已修复并生效。请再试一次,现在应该可以工作了。谢谢!

---------------- 原答案仅供引用 ------------------- ---------

是的,Word Online 现在存在回归,导致代码无法成功运行。具体问题是 file.getSliceAsync 方法永远不会调用回调函数。这只发生在 TEXT 类型上,如果你想获取 docx 或 pdf,这应该可以正常工作。此问题将在几周内得到解决。

如果您想获取文档文本,您可以使用新的 Word API 查看此示例:

Word.run(function(context) {
var myBody = context.document.body;
context.load(myBody);

return context.sync()
.then(function(){
console.log(myBody.text);
});
});

希望这有帮助!感谢您报告此问题!胡安。

关于javascript - Word 加载项 : Get whole document but File. getSliceAsync 方法未返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41947328/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com