Главная страница
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.009 c
9-1189869399
ElectriC
2007-09-15 19:16
2011.11.20
Collusion Detection на ID3DXSprite


2-1311737467
Abcdef123
2011-07-27 07:31
2011.11.20
Сохранение положения форм при последующем входе в программу.


15-1310041234
Palladin
2011-07-07 16:20
2011.11.20
Вакансия программиста (преимущественно Delphi)


15-1311359973
Дмитрий С
2011-07-22 22:39
2011.11.20
Особые права на файлы: запрет чтения собственных файлов


15-1311199461
Делфиец
2011-07-21 02:04
2011.11.20
А есть ли в Питере?