![]() |
|
Заполнение таб.части в Word'e... как ? | ☑ | ||
---|---|---|---|---|
0
Tata001
01.08.12
✎
12:08
|
просто с заполнением таблицы не работала..
есть шапка в документе,я её заполнчю след.образом ОбъектВорд = Макет.Получить(); // Документ из объекта и его активация Документ = ОбъектВорд.Application.Documents(1); Документ.Activate(); // Выборка данных Выборка = ОбъектВорд.Application.Selection; // Поиск и замена маркеров Замена = Документ.Content.Find; РезультатЗамены = Замена.Execute("[ВЛице]", , , , , , , , , ВЛице, 2); РезультатЗамены = Замена.Execute("[ИмяОРГ]", , , , , , , , , ИмяОРГ, 2); ================== а как мне таблицу заполнить ???? ведь у меня строки будут выводиться в цикле |
|||
1
Tata001
01.08.12
✎
12:14
|
неохота мне табличный документ использовать...
|
|||
2
izekia
01.08.12
✎
12:15
|
вчера только тема была:
v8: Как определить номер найденной строки в Word? |
|||
3
Maxus43
01.08.12
✎
12:16
|
// Получить таблицу как объект в отдельную переменную
// учитывая тот факт, что таблица у нас единственная Таблица = Документ.Tables.Item(1); // Записать данные в ячейку таблицы строка №1, колонка №1 Таблица.Cell(1,1).Range().InsertAfter("Номенклатура"); // Установить цвет фона в ячейке Таблица.Cell(1,1).Shading.BackgroundPatternColor = 16776960; Таблица.Cell(1,2).Range().InsertAfter("Цена"); Таблица.Cell(1,2).Shading.BackgroundPatternColor = 16776960; Таблица.Cell(1,3).Range().InsertAfter("Ед.Изм."); Таблица.Cell(1,3).Shading.BackgroundPatternColor = 16776960; НомерСтроки = 1; Выборка = ВыборкаКоличества.Выбрать(); Пока Выборка.Следующий() Цикл НомерСтроки = НомерСтроки + 1; Таблица.Cell(НомерСтроки,1).Range().InsertAfter(Выборка.Номенклатура); Таблица.Cell(НомерСтроки,2).Range().InsertAfter(Строка(Выборка.Цена)); Таблица.Cell(НомерСтроки,3).Range().InsertAfter(Выборка.ЕдиницаИзмерения); КонецЦикла; может поможет |
|||
4
Масянька
01.08.12
✎
12:16
|
// заполнение таблицы номенклатуры
Для СчетчикЦикла = 1 По Счет.КоличествоСтрок() Цикл мОбъект.Tables(1).Rows.Add(); // добавляем строку в конец таблицы Счет.ПолучитьСтрокуПоНомеру(СчетчикЦикла); мОбъект.Tables(1).Cell(СчетчикЦикла + 2,1).Range.Text = Счет.НомерСтроки; мОбъект.Tables(1).Cell(СчетчикЦикла + 2,2).Range.Text = СокрЛП(Счет.Номенклатура.ПолнНаименование); мОбъект.Tables(1).Cell(СчетчикЦикла + 2,3).Range.Text = СокрЛП(Формат(Счет.Количество, "Ч010.2")); мОбъект.Tables(1).Cell(СчетчикЦикла + 2,4).Range.Text = Строка(Счет.Единица); мОбъект.Tables(1).Cell(СчетчикЦикла + 2,5).Range.Text = глФрм(Счет.Цена); мОбъект.Tables(1).Cell(СчетчикЦикла + 2,6).Range.Text = глФрм(Счет.СуммаНДС); мОбъект.Tables(1).Cell(СчетчикЦикла + 2,7).Range.Text = глФрм(Счет.Сумма); КонецЦикла; // итоги мОбъект.Tables(2).Cell(1,2).Range.Text = СокрЛП(Формат(Счет.Итог("Количество"), "Ч010.2")); мОбъект.Tables(2).Cell(1,5).Range.Text = глФрм(Счет.Итог("СуммаНДС")); мОбъект.Tables(2).Cell(1,6).Range.Text = глФрм(Счет.Итог("Сумма")); // итоговая строка мСтрокаВсего = глФразаПрописью(Счет.КоличествоСтрок(), "наименован") + ", на сумму " + глСуммаПрописью(Счет.Итог("Сумма"), глРубли) + "."; мОбъект.Find.Execute("[СтрокаВсего]",0,0,,,,,,,СокрЛП(мСтрокаВсего),2); только у меня после шапки разрыв и перед итоговой. Руками поправляю. |
|||
5
МихаилМ
01.08.12
✎
12:18
|
во первых указвайте версии ПО
в разных версиях работа происходит по-разному. в 2007 -2010 офисах должна быть коллекция таблиц (см документацию) в 2000-2003 - коллекции нет. поиск таблиц через закладки . |
|||
6
Tata001
01.08.12
✎
15:14
|
Огромное всем спасибо =)))
|
|||
7
Tata001
01.08.12
✎
15:16
|
Только вот вопрос... можно ли мне в цикле делать разрыв страницы и запускать шаблон по новой,что б не каждый раз документ запускался,а всё было в одном
|
|||
8
МихаилМ
01.08.12
✎
15:48
|
(7)
посмотрите, как работает слияние excel и word |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |