Я подумываю о замене (очень) большого объема кода автоматизации делопроизводства чем-то, что напрямую работает с форматом Office XML. Я только начинаю, но уже переживаю, что это слишком большая задача.
Я буду иметь дело с Word, Excel и PowerPoint. Пока я смотрел только Word и Excel. Похоже, документами Word должно быть достаточно легко манипулировать, но книги Excel выглядят как кошмар. Например...
В Word похоже, что вы можете удалить абзац, просто удалив соответствующий тег «w: p». Однако предоставленный фрагмент кода для удаления строки в Excel занимает около 150 строк кода (!).
Причина, по которой код Excel такой большой, заключается в том, что удаление строки означает обновление индексов строк всех последующих строк, исправление таблицы «общих строк» и т. Д. Согласно комментарию вверху, фрагмент кода даже не завершен. , в том смысле, что он не будет иметь дело с книгой, в которой есть таблицы (я могу с этим жить).
Я не совсем понимаю, является ли это единственным ограничением в образце кода. Например, возникнет ли проблема, если книга будет содержать сводную таблицу? Или диаграмма, которая ссылается на данные с того же листа? Или несколько именованных диапазонов? Разве вам не пришлось бы также обновлять формулы для любых ячеек (и т. Д.), Которые ссылаются на строку, индекс которой изменился?
[Это не говоря уже о «цепочке вычислений», которую (к счастью), я думаю, вы можете просто удалить, так как это всего лишь цепочка, которую можно восстановить.]
И это мой вопрос, хотя он и невнятный. Насколько усердно вам нужно работать, чтобы сделать такое простое, как правильное удаление строки? Это непреодолимая задача?
Кроме того, если есть другие похожие проблемы либо с Excel, либо с Word или PowerPoint, я хотел бы услышать о них сейчас, прежде чем я буду тратить слишком много времени на тупик. Спасибо.