无法在Word Online

时间:2016-02-18 13:05:22

标签: office-addins office-js

我正在尝试使用下面的代码在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。

我做错了什么或者此功能无法在线获取?

2 个答案:

答案 0 :(得分:3)

新的Word API(例如使用Word.run的任何内容)目前仅在Windows(和iPad?)上的Word 2016中受支持

虽然根据文档isSetSupported应该返回false。

答案 1 :(得分:0)

这是正确的,这实际上是我们正在处理的错误。 WAC不完全支持该需求集,因此该方法必须返回false。