使用context.application.createDocument()创建Word文档时Office.JS“此加载项不再可用”错误

时间:2017-12-07 17:58:11

标签: ms-word office-js

我正在使用office js version 16.0.8626.1000为Microsoft Word 2016开发一个加载项。我使用Web服务检索base64格式的文档,然后用它创建一个新的Word实例。

问题在于,无论何时从我的服务器(而不是从visual studio调试器)运行加载项,它都会打开文档,但加载项框架会显示错误

初审: First office instance

第二个例子: Second instance with document retrieved from WS

如果我从visual studio调试器运行加载项,它就不会发生这种情况,它会打开没有框架的新实例。

这是我的代码

Office.initialize = function (reason) {
    // Checks for the DOM to load using the jQuery ready function.
    $(document).ready(function () {
        $('#get').click(function () {
            openWord();
        });
    });
}

这是我如何检索文档(没有真正的URL):

function openWord() {
    getDocumentAsBase64(function (data) {
        Word.run(function (context) {
            var myNewDoc = context.application.createDocument(data);
            context.load(myNewDoc);

            return context.sync()
                .then(function () {
                    myNewDoc.open();
                    context.sync();
                })
                .catch(function (myError) {
                    //otherwise we handle the exception here!
                    updateStatus(myError.message);
                })
        }).catch(function (myError) {
            updateStatus(myError.message);
        });
    });
}

function getDocumentAsBase64(callback) {
    $.ajax({
        url: 'http://myurltomydocument.com/getFile',
        data: "{}",
        dataType: "json",
        type: "POST",
        contentType: "application/json; charset=utf-8",
        success: function (response) {
            callback(response.d);
        },
        error: function (response) {
            updateStatus(response.d);
        }
    });
}

编辑 - 2017年12月8日

如果有人想要使用Office 2016复制问题,这是我正在使用的manifest

2 个答案:

答案 0 :(得分:0)

我不读西班牙语,但错误提及Visual Studio。我认为Office仍在尝试运行一个侧载Visual Studio的版本,它告诉你它无法做到这一点。问题可能是清单。我注意到它在很多地方仍然有字符串~remoteAppUrl。使用VS进行调试时,此字符串将自动替换为localhost URL,但您需要手动将所有这些更改为Web服务的域,并在要从Web服务运行时再侧载新的清单。

编辑12/11/17: 如果这不能解决问题,请尝试清除Office缓存。详细信息位于:Clear the Office cache

编辑12/19/17: 试试这个:
继续文件 - > 信息 - > 检查问题 - > 检查文档 - >的检查即可。 然后在任务窗格加载项上点击全部删除

答案 1 :(得分:0)

最后我找到了解决这个问题的方法。

  1. 首先我下载了​​Office 2016 Administrative Template Files。 当你运行它时,它将提取一堆文件和文件夹。
  2. 输入 admx 文件夹,将整个内容复制到 C:\ Windows \ PolicyDefinitions
  3. 以管理员身份在CMD(或Powershell)下执行 gpupdate / force
  4. 运行gpedit.msc并找到Office 2016的管理模板,然后更新(PC配置>>管理模板>> Microsoft Office 2016>>更新>>更新频道)并设置更新频道到 Montly Channel
  5. 我在版本1711(编译8730.2127点击并运行),现在一切正常。

    编辑9/1/2018: 错误再次出现。我唯一做的就是附加运行时日志来调试我的加载项清单。这仍然没有解决。