Word 2016 надстройка Office Word JS: можно обновить время выполнения документа после удаления нескольких компонентов из документа XML - PullRequest
0 голосов
/ 06 сентября 2018

У нас странная проблема в надстройках Word Office js. Мы не можем найти идентификатор управления содержимым средства выбора даты с помощью office js api, поскольку в настоящее время API поддерживает только элементы управления содержимым расширенного текста согласно комментариям к следующей ссылке на git hub. 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>

Мы можем удалить вышеуказанную строку, используя открытое слово xml, используя javascript SDK из document.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 открытым документом?

...