Главная страница
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-1311651490
Девелопер
2011-07-26 07:38
2011.11.20
В bat-файле вывести результат команды в переменную


15-1311097465
картман
2011-07-19 21:44
2011.11.20
Взаимодействие объектов


3-1266498498
Den
2010-02-18 16:08
2011.11.20
Буквы Е и Ё. Контекстный поиск


15-1311077706
>|<
2011-07-19 16:15
2011.11.20
Как назвать ТЗ?


15-1311079215
Leshiy_
2011-07-19 16:40
2011.11.20
Прерывание работы программиста