Word 2016 Addin Office Word JS:从文档xml中删除一些组件后可以更新文档运行时间

时间:2018-09-06 13:17:40

标签: ms-word office-js office-addins word-addins office-js-helpers

我们在Word Office js加载项中有一个奇怪的问题。我们无法使用Office js api找到日期选择器内容控件的ID,因为根据git hub上以下链接上的注释,该API目前仅支持富文本内容控件。https://github.com/OfficeDev/office-js/issues/228

现在,我们正在尝试采用一种变通办法来解决日期选择器内容控制问题。我们正在尝试从文档中的Document.xml中删除以下行,同时在运行时打开此文档意味着需要在document.xml中进行更改。

<w:date w:fullDate="2018-08-27T00:00:00Z"><w:dateFormat w:val="M/d/yyyy" /><w:lid w:val="en-US" /><w:storeMappedDataAs w:val="dateTime" /><w:calendar w:val="gregorian" /></w:date>

我们能够从document.xml中使用javascript SDK使用开放单词xml删除上述行,但不会在打开的文档中反映出来。

这是从document.xml中删除日期组件的示例代码。

return Observable.create((observer) => {
            let W = openXml.W;
            // Open a document that is stored as Flat Opc XML.
            // The document contains some comments.
            let doc = new openXml.OpenXmlPackage(base64Doc);
            // Remove all references to comments.
            var mainPart = doc.mainDocumentPart();
            var mainPartXDoc = mainPart.getXDocument();
            let texttag1 = doc.mainDocumentPart().getXDocument().descendants(W.date);
            console.log(texttag1.getSource());

            new XEnumerable(mainPartXDoc.descendants(W.date)).remove();
            let texttag = doc.mainDocumentPart().getXDocument().descendants(W.date);
            var b64string = doc.saveToBase64();

            console.log(b64string);
            console.log(texttag.getSource());
            observer.next(true);

如何用打开的文档更新document.xml?

0 个答案:

没有答案