Есть задача: заполнить данными из некоторой программы шаблон, сделанный в Word'е, причем пользователь может шаблон редактировать - менять форматирование, выкидывать поля и т.п., т.е. на выходе - документ, на который можно сразу ставить печать :)
Каак бы всё было замечательно - навставляли в шаблон полей типа DocVariable, заливаем в них значения, сохраняем под другим именем - в общем, всё хорошо. Пока не добрались до таблиц. А вот тут и наступили проблемы...
Т.к.пользователь имеет возможность редактирвоания шаблона, то просто "запомнить", что такой-то набор данных нужно запихнуть в расклонированную третью строку четвертой таблицы нельзя - пользователь может менять таблицы местами, вставлять/удалять в них строчки шапки/подвала таблицы, менять форматирование, переставлять и удалять столбцы... Т.е. надо как-то пометить строку таблицы, но так, чтобы пользователь не мог эту отметку случайно удалить, т.е. никакая вставка символа "зю" в текст, выделение специально созданным для этого стилем и т.п. не проходит - всё это не проживет и пяти минут.
Как-бы почти есть способ:
ThisDocument.Tables(1).Rows(1).ID="Нужная Строка"
... только вот этот ID пропадает при сохранении документа :(((
Есть какие-нибудь идеи, кроме как в Document_Close сохранять в тексте соотвествия ID и номеров ячеек, а в Document_Open - восстанавливать ID?
Может ты сохраняешь не в том формате? В каком-нибудь упрощённом?25.10.04 17:52 Автор: ZloyShaman <ZloyShaman> Статус: Elderman
В .doc. Есть мысль, что можно накатить сервиспак на офис... но у юзеров то тоже может быть несервпачечный....
Собственно, сейчас я пытаюсь сделать это на "закладках"... но там следующий глюк - если удаляется строка таблицы, в которой стояла закладка - то закладка не удаляется, а смотрит на соседнюю строчку... Свинство, хотя с точки зрения обычной работы с вордом - правильно :(
Поробуй накати. И кроме закладок есть ещё примечания.25.10.04 18:11 Автор: ZloyShaman <ZloyShaman> Статус: Elderman
Примечания видны, и будут раздражать пользователя => придется круглосуточно объяснять по телефону юзерам, что примечания удалять нельзя. Кроме того, примечание вставляется как символ, т.е. может быть удалено вместе с ячейкой (далеко не все поля таблицы могут быть нужны пользователю...). Нужно именно как-то пометить всю строку :(...