Ms word 将模板添加到Word的Office加载项

Ms word 将模板添加到Word的Office加载项,ms-word,office-js,Ms Word,Office Js,我正在尝试为Word创建外接程序,以便根据保存为.xml的Word文件添加模板 我正在做的是使用Word 2016创建模板。模板包含正文、页眉和页脚。然后我将Word文件保存为Word XML文档(.XML) 然后在我的VS项目中,我使用以下代码将模板添加到空白Word文件中: var myOOXMLRequest=new-XMLHttpRequest(); var-myXML; myOOXMLRequest.open('GET',fileName,false); myOOXMLRequest.

我正在尝试为Word创建外接程序,以便根据保存为
.xml
的Word文件添加模板

我正在做的是使用Word 2016创建模板。模板包含正文、页眉和页脚。然后我将Word文件保存为Word XML文档(
.XML

然后在我的VS项目中,我使用以下代码将模板添加到空白Word文件中:

var myOOXMLRequest=new-XMLHttpRequest();
var-myXML;
myOOXMLRequest.open('GET',fileName,false);
myOOXMLRequest.send();
if(myOOXMLRequest.status==200){
myXML=myOOXMLRequest.responseText;
}
Office.context.document.setSelectedDataAsync(myXML{
强制类型:“ooxml”
});
我的问题是模板的主体被正确地添加到新模板中,但是页眉和页脚不在那里

我不熟悉
ooxml
和office.js。任何关于如何直接从带有正文的文件中添加页眉和页脚的建议都非常有用。

该方法只会影响文档正文。这是因为Word使用当前光标位置作为插入点。换句话说,它相当于手动粘贴到Word文档中(这也不会改变页眉或页脚)

使用特定于主机的Word API,您可以获得更多的粒度。这个较新的API支持管理(页眉、页脚、正文)。一旦有了一个节,就可以使用插入内容

该方法只会影响文档的正文。这是因为Word使用当前光标位置作为插入点。换句话说,它相当于手动粘贴到Word文档中(这也不会改变页眉或页脚)


使用特定于主机的Word API,您可以获得更多的粒度。这个较新的API支持管理(页眉、页脚、正文)。一旦有了一个节,就可以使用插入内容

要在Office.js中使用模板,您需要对.dotx模板文件进行base64编码(将其上载到base64encode.org并保存txt文件)。拥有.txt文件后,将其添加到项目中,并告诉Word从该文件创建新文档,其中将包含该模板中的页眉/页脚/样式:

this.http.get('./assets/template.txt').subscribe(response => {
  Word.run(async context => {
    const myNewDoc = context.application.createDocument(response);
    context.load(myNewDoc);
    await context.sync();
    myNewDoc.open();
    await context.sync();
  });
});

要在Office.js中使用模板,您需要对.dotx模板文件进行base64编码(将其上载到base64encode.org并保存txt文件)。拥有.txt文件后,将其添加到项目中,并告诉Word从该文件创建新文档,其中将包含该模板中的页眉/页脚/样式:

this.http.get('./assets/template.txt').subscribe(response => {
  Word.run(async context => {
    const myNewDoc = context.application.createDocument(response);
    context.load(myNewDoc);
    await context.sync();
    myNewDoc.open();
    await context.sync();
  });
});

我不相信这种方法适用于Office online,不支持在新选项卡中打开新文档。除了在创建新文档之前请求外接程序的许可外,这种方法实际上可以正常工作,而桌面版本创建的文档没有任何弹出窗口。我不相信这种方法适用于Office online,不支持在新选项卡中打开新文档。实际上,除了在创建新文档之前请求附加模块的权限外,在桌面版本创建文档时没有任何弹出窗口,这一切都可以正常工作。