Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.11.20;
Скачать: CL | DM;

Вниз

Работать с Word, не через буфер обмена   Найти похожие ветки 

 
SQLEXPRESS   (2011-07-27 12:59) [0]

пишу
   WA := CreateOleObject("Word.Application");
   DA := WA.Documents.Open(PatternA);
   DA.Range.Select;
   WA.Selection.Copy; // из документа скопировали в буфер
   DA.Close(NoSaveChanges);
   DA := Unassigned;
// из документа скопировали в буфер, документ закрыли

далее где-то, в цикле
   WA.Selection.paste; // из буфера вставили в другой документ

если во время работы цикла пользователь что-то скопирует в буфер обмена, то следующие документы будут дополнены этим, а не тем, что по задумке должно быть.

Подскажите, как можно скопировать все из документа и где-то хранить, что-бы потом вставлять так же в цикле и пользователь не мог повредить вставляемое (неумышленно).

(вариант перед вставкой еще раз скопировать - не очень..)


 
SQLEXPRESS   (2011-07-27 13:03) [1]

как сам думаю - может можно как-то буфер сделать локальным для процесса?
(неизменяемым)
или как еще можно?


 
SQLEXPRESS   (2011-07-27 13:46) [2]

может можно именно WORDу сказать, что сейчас вот можно копировать.
А сейчас нельзя. Цикл прогнали. Сейчас можно.
Только мне кажется, у него не свой буфер..

пока ждал коллеге анекдот из браузера в аську кинул - полторы тысячи копий анекдота мне сформировалось :)


 
Dennis I. Komarov ©   (2011-07-27 15:23) [3]

Может вставлять не из буфера?

Что-нить вроде:

C: OleVariant;
...
C:=WA.Selection;

потом

WA.Selection:=C;


 
SQLEXPRESS   (2011-07-27 15:37) [4]


> C:=WA.Selection;

не работает

да и не должно, С - ссылка.
Вот если бы как-нибудь С := CreateNewOleObject(WA.Selection)


 
Dennis I. Komarov ©   (2011-07-27 16:20) [5]

Я и говорю "Что-нить вроде"...
Например, пусть с будет ссылка на отдельный WA.Documents, в котором будет только то, что надо вставить. В общем, бубен и пляски...

З.Ы. Не лублу привязываться к ворду...


 
Dennis I. Komarov ©   (2011-07-27 16:47) [6]

или так:
WA1.Selection:=WA2.Selection
или может
WA.Documents(0).Selection:=WA.Documents(2).Selection;

ну танцы... :)



Страницы: 1 вся ветка

Текущий архив: 2011.11.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
2-1310473287
samstroy
2011-07-12 16:21
2011.11.20
QR коды


4-1252050878
Quazi
2009-09-04 11:54
2011.11.20
Создание собственной SPIN-блокировки


9-1190053787
Mr.Vlad
2007-09-17 22:29
2011.11.20
Targa&Viewer


3-1266323284
Mike Kouzmine
2010-02-16 15:28
2011.11.20
Беда с двойной точностью


4-1251990104
TIF
2009-09-03 19:01
2011.11.20
Windows XP: вызвать диалог "Установка программы от другого имени"