Главная страница
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.018 c
15-1311539404
Юрий
2011-07-25 00:30
2011.11.20
С днем рождения ! 25 июля 2011 понедельник


15-1311280188
Юрий
2011-07-22 00:29
2011.11.20
С днем рождения ! 22 июля 2011 пятница


15-1311061925
Unknown555
2011-07-19 11:52
2011.11.20
оператор goto


1-1274191918
Fantasy
2010-05-18 18:11
2011.11.20
Регулярные выражения


9-1189869399
ElectriC
2007-09-15 19:16
2011.11.20
Collusion Detection на ID3DXSprite