Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > Технологии
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.08.2010, 09:02
skilatron skilatron вне форума
Прохожий
 
Регистрация: 23.08.2010
Сообщения: 3
Репутация: 10
По умолчанию копирование и вставка таблиц в Word

Проблема такая. Есть вордовский документ, содержащий таблицу. Необходимо скопировать ее на следующий лист документа, так чтобы это была следующая таблица.
Я делаю так:
...
WordDocument1.ConnectTo(WordApplication1.ActiveDoc ument);
W := GetActiveOLEObject('Word.Application');
ir:=WordDocument1.Tables.Item(1).range; //выделяю таблицу
W.Selection.InsertBreak; //добавляю новый лист
ir.Copy; //копирую таблицу
ir.paste; //вставляю таблицу
...

Хотя курсор после добавления нового листа перемещается на этот лист, вторая таблица добавляется так, что она прикрепляется к первой и получается одна таблица, а мне нужно чтобы было две разные таблицы.
Ответить с цитированием
  #2  
Старый 23.08.2010, 15:31
RootDevice RootDevice вне форума
Прохожий
 
Регистрация: 23.08.2010
Адрес: г. Смоленск
Сообщения: 41
Репутация: 10
По умолчанию

поставь enter вконце первой таблицы, а лучше два, а потом вставляй. 95% что сработает.
Ответить с цитированием
  #3  
Старый 23.08.2010, 19:51
skilatron skilatron вне форума
Прохожий
 
Регистрация: 23.08.2010
Сообщения: 3
Репутация: 10
По умолчанию

все равно получается одна таблица

Последний раз редактировалось skilatron, 23.08.2010 в 20:05.
Ответить с цитированием
  #4  
Старый 24.08.2010, 09:43
skilatron skilatron вне форума
Прохожий
 
Регистрация: 23.08.2010
Сообщения: 3
Репутация: 10
По умолчанию

Проблема решена.
Код:
...
FileName2:='d:\mp1.doc'; //из этого файла беру таблицу
WordApplication2.Documents.Open(FileName2,
   EmptyParam,EmptyParam,EmptyParam,
   EmptyParam,EmptyParam,EmptyParam,
   EmptyParam,EmptyParam,EmptyParam,
   EmptyParam,EmptyParam,EmptyParam,
   EmptyParam,EmptyParam,EmptyParam);
WordDocument2.ConnectTo(WordApplication2.ActiveDocument);

WordDocument2.Range.Select; //выделяю весь документ
WordDocument2.Range.Copy;  //копирую в буфер обмена

FileName1:='d:\mp.doc'; //в этот документ вставляю таблицу
WordApplication1.Documents.Open(FileName1,
   EmptyParam,EmptyParam,EmptyParam,
   EmptyParam,EmptyParam,EmptyParam,
   EmptyParam,EmptyParam,EmptyParam,
   EmptyParam,EmptyParam,EmptyParam,
   EmptyParam,EmptyParam,EmptyParam);
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);

//следующие две строки помещают курсор в конец документа
WordApplication1.Selection.Start:=WordApplication1.ActiveDocument.Characters.Count;
WordApplication1.Selection.End_:=WordApplication1.ActiveDocument.Characters.Count;
WordApplication1.Selection.paste            //вставляю таблицу из буфера
WordApplication1.ActiveDocument.Save;  //сохраняю документ
...
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter