我正在尝试使用下面的代码在Word Online中打开base64编码的文件。
function displayContents(myBase64) {
Word.run(function (context) {
console.log(Office.context.requirements.isSetSupported("WordApi", "1.1"));
// Create a proxy object for the document.
var thisDocument = context.document;
// Queue a command to clear the body contents.
thisDocument.body.clear();
thisDocument.body.insertFileFromBase64(myBase64, "replace");
// Create a proxy object for the default selection.
//var mySelection = thisDocument.getSelection();
// Queue a command to insert the file into the current document.
//mySelection.insertFileFromBase64(myBase64, "replace");
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
return context.sync();
})
.catch(function (error) {
console.log('Error: ' + JSON.stringify(error));
if (error instanceof OfficeExtension.Error) {
console.log('Debug info: ' + JSON.stringify(error.debugInfo));
}
});
}
这不起作用(使用body.insertFileFromBase64或myselection.insertFileFromBase64)。该代码在Word的常规版本中起作用。我收到以下错误:
错误: "名称":" OfficeExtension.Error&#34 ;, "代码":" GeneralException&#34 ;, " message":"此浏览器不支持所请求的API。", " traceMessages":[]," debuginfo软":{}} LoadOfficeDoc.js:51调试信息:{}
Office.context.requirements.isSetSupported(" WordApi"," 1.1")返回true。
我做错了什么或者此功能无法在线获取?
答案 0 :(得分:3)
新的Word API(例如使用Word.run
的任何内容)目前仅在Windows(和iPad?)上的Word 2016中受支持
虽然根据文档isSetSupported
应该返回false。
答案 1 :(得分:0)
这是正确的,这实际上是我们正在处理的错误。 WAC不完全支持该需求集,因此该方法必须返回false。