Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.11.20;
Скачать: [xml.tar.bz2];

Вниз

Работать с 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.003 c
15-1311079215
Leshiy_
2011-07-19 16:40
2011.11.20
Прерывание работы программиста


3-1266393561
tomkat
2010-02-17 10:59
2011.11.20
Медленная вставка через TIBScript


15-1311593331
Кто б сомневался
2011-07-25 15:28
2011.11.20
Интересный flash апплет с мировой статистикой "online"


2-1312118983
From4pda
2011-07-31 17:29
2011.11.20
работа с TDriveComboBox


15-1311249647
Scott Storch
2011-07-21 16:00
2011.11.20
запрос на удаление





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский