|
Заполняю Word -макет, указываю заполнение таблицы, Данные выводит.Сверху слева листа | ☑ | ||
---|---|---|---|---|
0
SkillUp
20.11.18
✎
10:06
|
ДокументПечати = ЭтаОбработка.ПолучитьМакет("Макет3");
MSWord = ДокументПечати.Получить(); Попытка Документ = MsWord.Application.documents(1); Документ.Activate(); //Получаем документ для поиска. Замена = Документ.Content.Find; //Строка НомерСтроки = 2; //Колонки: НомерКолонкиНомер = 1; Номенклатура = 2; ТМ = 3; ВНГ = 4; ВТ = 5; КНП = 6; Для Каждого ТекСтр ИЗ ЭтаОбработка.СсылкаНаОбъект.Услуги Цикл ВордТаблица = Документ.Tables(1); ВордТаблица.Rows.Add(); ЗаполнениеСтрок = ВордТаблица.Cell(НомерСтроки,НомерКолонкиНомер).Range; ЗаполнениеСтрок.Text = ТекСтр.НомерСтроки; ЗаполнениеСтрок = ВордТаблица.Cell(НомерСтроки,Номенклатура).Range; ЗаполнениеСтрок.Text = ТекСтр.Номенклатура; итд. (заполнение таблицы) Данные выводит, сверху-слева самого листа данные. Там ни какой таблицы нету, почему там выводит данные там? Кто-то сталкивался с таким? |
|||
1
Галахад
гуру
20.11.18
✎
10:36
|
Рабочий код:
таблкол = 1;//Номер таблицы, по счету, в документе word Word.ActiveDocument.Paragraphs.Add();//добавляем параграф Номер = Word.ActiveDocument.Paragraphs.Count();//получаем номер параграфа Word.ActiveDocument.Tables.add(Word.ActiveDocument.Paragraphs(Номер).Range,1,5);//создаем новую таблицу размером 1*4 (1 строка и 4 колонки). Вставляем ее в параграф с соответствующим номером "Номер" (в данном случае в конец документа). ЗаполнитьЯчейкуТаблицы(Word, таблкол, 1, 1, "№"); ЗаполнитьЯчейкуТаблицы(Word, таблкол, 1, 2, "Наименование"); ЗаполнитьЯчейкуТаблицы(Word, таблкол, 1, 3, "Количество"); ЗаполнитьЯчейкуТаблицы(Word, таблкол, 1, 4, "Цена (руб.)"); ЗаполнитьЯчейкуТаблицы(Word, таблкол, 1, 5, "Сумма (руб.)"); Сч = 0; Для Каждого Стр Из СсылкаНаОбъект.Товары Цикл Сч = Сч + 1; Word.ActiveDocument.Tables(таблкол).Rows.Add();//добавляем новую строчку в эту таблицу ЗаполнитьЯчейкуТаблицы(Word, таблкол, Сч + 1, 1, "" + Сч); ЗаполнитьЯчейкуТаблицы(Word, таблкол, Сч + 1, 2, Стр.Номенклатура.Наименование); ЗаполнитьЯчейкуТаблицы(Word, таблкол, Сч + 1, 3, Формат(Стр.Количество, "ЧДЦ=2") + " " + Стр.ЕдиницаИзмерения); ЗаполнитьЯчейкуТаблицы(Word, таблкол, Сч + 1, 4, Формат(Стр.Цена, "ЧДЦ=2")); ЗаполнитьЯчейкуТаблицы(Word, таблкол, Сч + 1, 5, Формат(Стр.Сумма, "ЧДЦ=2")); КонецЦикла; Word.ActiveDocument.Tables(таблкол).AutoFormat(16);//выставляем формат отображения таблицы. В данном случае таблица будет с обычной границей, без заливки. Параметр варьируется от 0 до...(примерно несколько десятков). Удобно просто в цикле перебрать, а потом выбрать нужный! Word.ActiveDocument.Range( Word.ActiveDocument.Tables(таблкол).Cell(1,1).Range.Start,Word.ActiveDocument.Tables(таблкол).Cell(1,5).Range.End).Font.Bold = Истина;// выделяем область яцеек с 1 по 4 для первой строки и выставляем шрифт "Жирный" //Word.ActiveDocument.Range( Word.ActiveDocument.Tables(таблкол).Cell(1,1).Range.Start,Word.ActiveDocument.Tables(таблкол).Cell(1,5).Range.End).Font.size = 12;// выделяем область яцеек с 1 по 4 для первой строки и выставляем размер шрифта "14" Word.ActiveDocument.Range( Word.ActiveDocument.Tables(таблкол).Cell(1,1).Range.Start,Word.ActiveDocument.Tables(таблкол).Cell(Сч + 1,5).Range.End).ParagraphFormat.Alignment = 1;// выделяем область яцеек с 1 по 4 для первой строки и выставляем выравнивание текста "По центру". Параметр варьируется от 0 до 3. (левый край, центр, правый край, по ширине соответственно) |
|||
2
SkillUp
20.11.18
✎
10:57
|
(1) О, класс, СПАСИБО!!!!
|
|||
3
Галахад
гуру
20.11.18
✎
11:02
|
(2) Пожалуйста. Сам недавно разбирался.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |