Имя: Пароль:
1C
1С v8
работа в Word средствами 1С
0 R0mbes
 
15.08.12
20:40
Привет всем. Кто-нибудь работал через 1С с вордом ?
У меня загвоздка с созданием таблицы в ворде. Точнее задача заключается в следующем. Есть шаблон файла Word . в шаблоне уже есть табличка. Мне нужно в нее с помощью обработки добавить строки. Не могу никак найти как это можно реализовать.

Может кто подскажет функции создания строк в таблице или копирования текущей строки ?
1 Armando
 
15.08.12
20:41
MSDN в помощь
2 R0mbes
 
15.08.12
20:45
(1) кинь ссылку)
3 Джордж1
 
15.08.12
20:46
(0)эх было такое, но под рукой нет. если найду выложу код - там не много
4 R0mbes
 
15.08.12
20:48
(3) буду очень признателен !!!
5 МихаилМ
 
15.08.12
21:07
для разных версий MS Word

разные спосробы работы с таблицами.

указывайте версии ПО.
6 Джордж1
 
15.08.12
21:21
Табл=Ворд.ActiveDocument.Tables.Item(Шабл.НомерТаблицы);  
   //сначала добавляем колонки в таблицу
   Табл.Columns(Шабл.НомерКолонкиПартия).Select();
   Для к=2 по КолВоПартий Цикл
       Ворд.Application.Selection.InsertColumns();
   КонецЦикла;
   //заголовки партий
   Для к=1 по КолВоПартий Цикл
       Табл.Cell(Шабл.НомерПервойСтроки-1,Шабл.НомерКолонкиПартия-1+к).Range=ПолучитьАтрибут("Партия"+к);
   КонецЦикла;
   //объединим колонки над партиями
   п1=Табл.Cell(1, Шабл.НомерКолонкиПартия);
   Табл.Cell(1,Шабл.НомерКолонкиПартия-1+КолВоПартий).Merge(п1);
   ///////////////////////////////////////////////////////////////////////////////
   //теперь выводим данные
   Табл.Cell(Шабл.НомерПервойСтроки, 1).Select();
   Ворд.Application.Selection.InsertRowsBelow(ТЗ2.КоличествоСтрок()-1);//добавляем строки
   //заполняем данные
   ТЗ2.ВыбратьСтроки();
   Пока ТЗ2.ПолучитьСтроку()=1 Цикл
       Табл.Cell(Шабл.НомерПервойСтроки-1+ТЗ2.НомерСтроки, 1).Range=ТЗ2.НомерСтроки;
       Табл.Cell(Шабл.НомерПервойСтроки-1+ТЗ2.НомерСтроки, 2).Range=Строка(ТЗ2.Элемент);
       Табл.Cell(Шабл.НомерПервойСтроки-1+ТЗ2.НомерСтроки, 3).Range=ТЗ2.НормативСтр;
       //
       Для к=1 по КолВоПартий Цикл
           Табл.Cell(Шабл.НомерПервойСтроки-1+ТЗ2.НомерСтроки, Шабл.НомерКолонкиПартия-1+к).Range=СокрЛП(Формат(ТЗ2.ПолучитьЗначение(ТЗ2.НомерСтроки,"Партия"+к),"Ч06."+ТЗ2.Элемент.Точность));
       КонецЦикла;    
       //
       Табл.Cell(Шабл.НомерПервойСтроки-1+ТЗ2.НомерСтроки, 3+КолВоПартий+1).Range=ТЗ2.Результат;
       Табл.Cell(Шабл.НомерПервойСтроки-1+ТЗ2.НомерСтроки, 3+КолВоПартий+2).Range=ТЗ2.Вывод;
   КонецЦикла;
7 R0mbes
 
15.08.12
21:26
(5) 2010
8 R0mbes
 
15.08.12
21:26
(6) огромное спасибо !!! сейчас буду разбирать ! )
9 ВалераОшкин
 
15.08.12
22:20
(0) я делал шаблон таблицы со строкой. Выделял строку и прикреплял это выделение к закладке Word внутри документа.
Затем кодом позиционировался на закладке, копировал выделение, вставлял и заполнял как нужно.
10 ProgAL
 
15.08.12
22:22
Включаешь запись макросов, затем руками делаешь то что ты хотел бы сделать - вставляешь текст в нужные ячейки итд, затем останавливаешь запись макросов и смотришь код на visual basic и по аналогии втыкай это в код 1с, который тебе прислали выше.
11 AlexNew
 
15.08.12
22:58
Не обманывайте, средствами 1С с Word работать нельзя. Вот работать с объектом Word его средствами - пожалуйста, правда сейчас Word события объекта можно обрабатывать.
12 Zanzarchik
 
15.08.12
23:06
(11) - истино так
13 R0mbes
 
15.08.12
23:23
(6) - сделал также) Все работает, еще раз спасибо !
(10) - отличная мысль, спасибо ! Мои следующие пару вопросов благодаря этому только что решились !!
(11) и не поспоришь =))
14 R0mbes
 
15.08.12
23:24
(9) да можно и так, а можно спозиционироваться и просто сделать вот так
<cod>
Табл.Cell(Шабл.НомерПервойСтроки, 1).Select();
   Ворд.Application.Selection.InsertRowsBelow(ТЗ2.КоличествоСтрок()-1);//добавляем строки
</cod>

как в (6)