打开插件后无法编辑worddocument

时间:2017-05-22 17:44:01

标签: javascript office365 office-js

关于我之前的问题“Word addin无法在线上运行”我现在有一个插件,我用ooxml获取页眉和页脚,并将它们添加到初始化过程Office.initalize = function(reason)中。

当我打开插件时,会添加页眉和页脚。当我尝试在主体中输入任何内容时,它只能输入一行。这只是Word在线上的一个问题。本地klient - 没问题。

还应该提一下,如果您从OneDrive打开现有模板然后打开插件,则在文档中输入文本没有问题。

我想知道是否有其他人遇到过这个问题或者有类似问题,你想出了什么解决方案?请查看前面的代码问题:“Word addin doesn't work on word online”

2 个答案:

答案 0 :(得分:0)

您的意思是,在打开插件时,可以通过在initialize方法中调用InsertOoxml API来成功添加AddFooter和AddHeader。但是打开插件后无法编辑文档的主体。

我认为主体中可能存在一些不受支持的问题,就像类似问题的原因一样...... Word addin并不适用于在线词语。"

您可以为我提供文档,然后我可以验证根本原因。

答案 1 :(得分:0)

在Word.run之前添加'return'

function addHeader() {
    return Word.run(function (context) {

        var sections = context.document.sections;
        context.load(sections, 'body/style');

        return context.sync().then(function () {

            var header = sections.items[0].getHeader("primary");
            var templateHeader = getHeaderFooter('/xml/simrisHeader.xml');
            header.insertOoxml(templateHeader, Word.InsertLocation.replace);

            return context.sync().then(function () {
                console.log("Added a header to the first section.");
            });
        });
    })
    .catch(function (error) {

        console.log('Error: ' + JSON.stringify(error));
        if (error instanceof OfficeExtension.Error) {
            console.log('Debug info: ' + JSON.stringify(error.debugInfo));
        }
    });
}

使用以下样式调用addFooter和addHeader:

addFooter().then(function() {
    addHeader();
};