Имя: Пароль:
1C
 
Загрузка данных в шаблон excel
0 SSkripagan
 
25.12.08
08:03
Товарищи.
Подскажите красивое решение как выгрузить ТЧ документа в файл шаблон excel.
Интересует вопрос добавления новых строк в exel и заполнение полей данными
1 OFF
 
25.12.08
08:20
СоздатьОбъект("Excel.Application"); ?
2 SSkripagan
 
25.12.08
08:33
(1) Далее вариант
Через    
МассивКОМ = Новый COMSafeArray("VT_VARIANT", ВсегоКолонок, ВсегоСтрок);
Не катит.

Подумал просто черещ копирование строк

Через макрос получилось нечто такое

  Range("B5:E5").Select
  Selection.Copy Destination:=Range("B6:E6")
  Range("B6").Select
  ActiveCell.FormulaR1C1 = "123"
  Range("C6").Select
  ActiveCell.FormulaR1C1 = "Иванов"
   Range("D6").Select
   ActiveCell.FormulaR1C1 = "500"
   Range("E6").Select
   ActiveCell.FormulaR1C1 = "24"
   Range("E11").Select


Но может можно как то проще ?
3 SSkripagan
 
25.12.08
08:57
ап
4 Нуф-Нуф
 
25.12.08
09:03
чет не прет тебе с ветками...
5 vde69
 
25.12.08
09:05
http://www.infostart.ru/projects/3060/

правда для 7.7
6 SSkripagan
 
25.12.08
09:06
В итоге вопрос сводится к тому как добавить в икселе строку и заполнить её значениями выборки. Не могу сообразить
7 SSkripagan
 
25.12.08
09:09
(5) Все классно. Мне бы не такое универсальное и для восьмерки
8 vde69
 
25.12.08
09:11
(7) переделай, там делов на 30 минут
9 SSkripagan
 
25.12.08
09:19
(8) Уже начал
10 SSkripagan
 
25.12.08
13:26
Мужики. Ну все практически переписал
Но
Хоть убей не копируется  строка методом

   Для е1 = 2 по ТаблицаРезультата.Количество() Цикл  
       Д = СписокЗагрузки.ЛистШаблона.Rows("" + Смещение + ":" + Смещение);
       Д.Select();
       Д.Copy();
       Д.Insert();
   КонецЦикла;

ВЫваливается с ошибкой метода Range
11 SSkripagan
 
25.12.08
13:32
Произошла исключительная ситуация (Microsoft Office Excel): Метод Select из класса Range завершен неверно
12 Нуф-Нуф
 
25.12.08
13:37
апну чтоли
13 SSkripagan
 
25.12.08
13:39
(8) Дмитрий. Я как понял обработка (5) ваша.
Подскажите плиз с копированием колонок
14 vde69
 
25.12.08
13:43
там есть ошибка маленькая, счас найду свежий файл
15 SSkripagan
 
25.12.08
13:43
(14) Я там уже 2 нашел :-))
Скажите про копирование строки плиз. Как правильно ?
16 vde69
 
25.12.08
13:45
Смещение = СписокПараметровФайла.Получить("СтрокаШаблонТЧ");
   СписокЗагрузки.Получить("ЛистШаблона").Select();    
   Если ТЗ.КоличествоСтрок() = 0 Тогда
       Д = СписокЗагрузки.Получить("ЛистШаблона").Rows("" + Смещение + ":" + Смещение);
       Д.Select();
       Д.Delete();
   Иначе
       Для е1 = 2 по ТЗ.КоличествоСтрок() Цикл  
           Д = СписокЗагрузки.Получить("ЛистШаблона").Rows("" + Смещение + ":" + Смещение);
           Д.Select();
           Д.Copy();
           Д.Insert();
       КонецЦикла;
   КонецЕсли;


обращаю внимание на строку №2


для копирования колонок надо Rows заменить
17 SSkripagan
 
25.12.08
14:00
(16) Спасибо заработало.
Тока физический смысл так и не понял :-(
18 vde69
 
25.12.08
14:02
(17) у тебя в екселевском шаблоне активная страница была другая.
19 SSkripagan
 
25.12.08
14:03
(18) и Select сделал шаблон активным
20 vde69
 
25.12.08
14:04
(19) там еще где-то я чего-то правил, уже не помню, новый файл выложил
21 SSkripagan
 
25.12.08
14:50
Всем спасибо за содействие (vde69 в частности).
Релизована полная аналогия для восьмерки
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший