Word addin,再次加载整个文档

时间:2017-03-23 14:20:21

标签: javascript ms-word add-in office-js

我正在为Word 2016/365开发一个插件来获取Word模板,并且能够通过contentcontrols改变页眉和页脚中的信息。首先,只有两个模板可供使用。我正在使用ooxml并通过XMLHttpRequest获取xmldocument:

    //Function to get ooxmldocument via XMLHttpRequest

function getTemplate(fileName) {

    var myOOXMLRequest = new XMLHttpRequest();

    var myXML;

    myOOXMLRequest.open('GET', fileName, false);

    myOOXMLRequest.send();

    if (myOOXMLRequest.status === 200) {

        myXML = myOOXMLRequest.responseText;
        console.log('myXML VariabelData: ', myXML);
        return myXML;        
    }
    return "" ;
}

我通过以下方式插入模板:

    // Insert a 'default' template with logo and contentControllers in header and footer of the xml
function insertDefaultTemplate() {

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

        // Synchronize the document state by executing the queued commands, and return a promise to indicate task completion.
        return context.sync().then(function () {

            var t = getTemplate('/Content/Templates/BrevmallMD.xml', 'Replace');

            body.insertText("Formaterar dokument...", Word.InsertLocation.start);

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

                body.insertOoxml(t, Word.InsertLocation.replace);   


                return context.sync().then(function () {
                    showNotification("Standardmallen är införd!", "Välj användaruppgifter.");
                    });
                });
            })
        }).catch(function (error) {
            errorHandler();
    })
}

使用其他一些函数,我可以通过按钮和jQuery将新信息插入到contentcontrollers(从一开始就在文档中)。

问题是当您想要再次插入文档时。它不会按原样加载原始文档。它似乎在插件的现有一个precent中合并。

我希望能够按原样加载新文档,不加载文档然后将其与现有文档合并。我已经看到很多关于办公室devcenter的例子,在主体和部分放入东西,但不是整个文件。我该怎么做=)?

0 个答案:

没有答案