Это забавный случай, и в некоторой степени вы описываете его дизайн и не были должным образом обработаны в вашем коде. На самом деле, я сомневаюсь, что это то, что вы хотите сделать. Позволь мне объяснить.
Корень проблемы в том, что, выполнив ccs.items [i] .getOoxml (), вы фактически получаете OOXML элемента управления содержимым, включая фактический элемент управления содержимым. вот почему, когда вы сохраняете, а затем заменяете содержимое cc тем OOXML, вы фактически вставляете элемент управления содержимым в элемент управления содержимым, поэтому каждый раз вы удваиваете размер элементов управления содержимым! :) Надеюсь, это не смущает ...
Я думаю, что вы действительно хотите, чтобы OOXML-ize - это то, что находится внутри управления контентом, верно? На основании вашего примера кода я предполагаю, что скрытие в этом контексте означает не весь элемент управления содержимым, а вместо этого вам нужен пустой элемент управления содержимым (с «-»), правильно?
Если это так, вам нужно получить OOXML «контента» элемента управления контентом. вот как ты это делаешь:
const ooxmlObj = ccs.items[i]
.getRange("start")
.expandTo(ccs.items[i].getRange("end"))
.getOoxml();
эта простая инструкция даст вам только внутреннюю часть управления контентом, то есть OOXML, который вам нужно сохранить, а затем заменить.
Пожалуйста, ознакомьтесь с рабочим образцом здесь (scriptlab) https://gist.github.com/JuaneloJuanelo/4a78ab47b7df9594bc7d097842166cbf
также я не уверен, почему вы сохраняете это как XML-часть ... я использовал массив в моем образце, затем вы можете использовать объект настроек для сохранения массива. до вас, где вы хотите хранить временные OOXMLs.
Удачного кодирования!