Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2012, 14:35   #1
MikeUser5
 
Регистрация: 02.04.2012
Сообщений: 3
По умолчанию корректное заполнение таблиц в word'е

Есть файл шаблона *.dot, который заполняю неким содержимым.

В файле шаблона есть 2 таблицы, одна под другой.
В первой таблице изначально 2 строки


Код:
//Из 1С открываю как внешний объект

Word=CreateObject("Word.Application");
ФайлШаблона="d:\docs\schet.dot"; //например
	Docs=Word.Documents;
	Docs.Add(ФайлШаблона);

	Docs=Word.Documents; 
	Doc=Word.ActiveDocument;    
     
	//заполняю, в цикле НомСтрТаб=2, 3, и т.д.
Doc.Tables(1).Cell(НомСтрТаб, 1).Range.Text = "ТМЦНаим";  
Doc.Tables(1).Cell(НомСтрТаб, 2).Range.Text = "Ед";    
Doc.Tables(1).Cell(НомСтрТаб, 3).Range.Text = "Колво";  // и т.п.

//После того, как применяю			
Doc.Tables(1).Rows.Add();

//здесь,  в цикле  НомСтр=1, 2, и т.д.
//**
Doc.Tables(2).Cell(НомСтр, 1).Range.Text = Стр1;  
Doc.Tables(2).Cell(НомСтр, 2).Range.Text = Стр2;
			
Word.Visible=1;
Вывод в ** идёт в ячейки первой таблицы, а не в ячейки второй.
Как добиться корректного заполнения содержимого 1-й и 2-й таблиц?
Возможно, нужно переместить курсор на Tables(2), чтобы вывод шёл в неё, а не в таблицу 1, подскажите как.

Последний раз редактировалось ACE Valery; 02.04.2012 в 15:17.
MikeUser5 вне форума Ответить с цитированием
Старый 02.04.2012, 14:41   #2
MikeUser5
 
Регистрация: 02.04.2012
Сообщений: 3
По умолчанию файл шаблона

на всякий случай, шлю заполняемый файл шаблона
Вложения
Тип файла: rar schet.rar (7.0 Кб, 15 просмотров)
MikeUser5 вне форума Ответить с цитированием
Старый 11.04.2012, 15:37   #3
MikeUser5
 
Регистрация: 02.04.2012
Сообщений: 3
Радость

Помогло следующее:

Doc.Tables(1).Range.Select();
Выбор=Word.Selection();

использование
Выбор.InsertRowsBelow(1);
вместо
Doc.Tables(1).Rows.Add();
MikeUser5 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать заполнение двух таблиц из одной формы? s_sarkazm Microsoft Office Access 8 09.12.2011 07:24
Заполнение таблиц с со связью "Один ко многим" DenProx Microsoft Office Access 2 04.02.2011 10:24
Заполнение двух таблиц одновременно Emprio Microsoft Office Excel 2 14.01.2011 13:08
Заполнение через список выбора одного диапазона таблиц через другой P10neer Microsoft Office Excel 5 23.12.2010 23:44
VBA(Заполнение таблиц) AlexandrHouse Microsoft Office Access 0 13.04.2010 10:30