Показать сообщение отдельно
Старый 18.01.2013, 17:04   #9  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от ice Посмотреть сообщение
2Владимир Максимов: с таким подходом редактировать шаблоны становится трудоемко, тк надо всякий раз перебивать макросы, чтоб ячейки не поехали
А надо вообще попробовать кардинально перестроить работу, примерно так.

В любом шаблоне делаем два листа: один - собственно шаблон (раскрашенный и расфуфыренный), второй - служебный, обычный лист без всякого форматирования. На второй выводится одна единственная строка - например, при помощи CopyFromRecordset. Без всяких поисков именованных или неименованных диапазонов, обычно хаотично разбросанных по парадному шаблону.

Вот. А на первом прописываете формулы на ячейки этой единственной строки второго листа. Перед самым показом пользователю для первого листа делаете копию всего используемого диапазона первого листа и специальную вставку "Только значения", чтобы зафиксировать значения формул. Второй лист больше не нужен, удаляем его. Всё это происходит втёмную, до visible = true.

Соответственно, если вы позднее вносите изменения в дизайн парадного шаблона, добавляя/удаляя колонки/строки, то формулы в ячейках сами перенастраиваются (ну, собственно как и имена, созданные по Ctrl+F3).

Кстати, передачу данных для не очень больших табличных частей тоже можно включать в эту единственную строку, выгружаемую из Аксапты.

На эту тему уже бывали беседы на форуме: Копирование в Excel