|
работа в 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) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |