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

Вниз

как вставить в редактор WORD содержимое буфера   Найти похожие ветки 

 
Dema-X   (2004-11-24 06:27) [0]

WORD на мессагу wm_paste не реагирут хотя в блокнот вставка проиходит нормально
если же эмулировать нажатие клавиш типа CTRL+V или SHIFT+INS через keybd_event() то в блокнот вставляет опять нормально а в ворд раз 10 а то и больше в чем вся фигня так и не просеку?Как нормально вставить 1 раз.


 
YurikGL ©   (2004-11-24 07:09) [1]

Можно через ole

типа
wordapplication1.connect
WordApplication1.Selection.Paste


 
Dema-X   (2004-11-24 07:35) [2]

А ГДЕ ЭТО ole ВЗЯТЬ У МЕНЯ НЕТ НИКАКИХ ТИПОВ wordapplication1


 
YurikGL ©   (2004-11-24 07:37) [3]

Вкладка servers

Если быть точнее, то

WordApplication1.ConnectKind:=ckRunningInstance;
wordapplication1.connect;
WordApplication1.Selection.Paste;
wordapplication1.disconnect;


 
Dema-X   (2004-11-26 11:59) [4]

инвид метод пишет


 
TUser ©   (2004-11-26 12:48) [5]


> инвид метод пишет

Инвалид?


 
Dema-X   (2004-11-27 14:29) [6]

но инвалид


 
YurikGL ©   (2004-11-27 19:25) [7]


> Dema-X   (26.11.04 11:59) [4]
> инвид метод пишет


Во первых, на какую строчку, во вторых, а у тебя в это время ворд запущен? Документ какой-нибудь открыт? В буфере что-нибудь есть?


 
Dema-X   (2004-11-27 19:35) [8]

так точно YurikGL!Ворд запущен в ворде новый документ в буфере строка типа "ABCDEFG" которая прекрасно вставляется в блокнот ворд XP дельфи 7


 
YurikGL ©   (2004-11-27 19:56) [9]

Dema-X   (27.11.04 19:35) [8]

Так... удаляй эту  вордаппликейшн и пиши следующий код:


var
app:Variant;
....
Begin

try
app:=GetActiveOleObject("Word.Application");
app.selection.paste;
finally
 App:=Unassigned;
end;

End;


 
Dema-X   (2004-11-27 20:04) [10]

> YurikGL ©   (27.11.04 19:25) [7]
>
> > Dema-X   (26.11.04 11:59) [4]
> > инвид метод пишет
>
>
> Во первых, на какую строчку, во вторых, а у тебя в это время
> ворд запущен? Документ какой-нибудь открыт? В буфере что-нибудь
> есть?

пишет что прога вызвала исключение EINTFCASTERROR c сообщением интерфейс нот супорт то бишь не поддерживается.что делать?


 
Dema-X   (2004-11-27 20:06) [11]


> YurikGL ©   (27.11.04 19:56) [9]
> Dema-X   (27.11.04 19:35) [8]
>
> Так... удаляй эту  вордаппликейшн и пиши следующий код:

о рабит! а можно сделать так чтобы без привязки к ворду было то есть щёлкаю правой кнопкой в блокноте туда ставит щёлкаю в ворде в ворд ставит и т.п


 
YurikGL ©   (2004-11-27 20:20) [12]


> Dema-X   (27.11.04 20:06) [11]

А не проще из твоего приложения, кликаешь по клавише "Блокнот" - вставляет в блокнот, кликаешь по клавише "word" - вставляет во Ворд?


 
Dema-X   (2004-11-28 14:31) [13]

Нет не проще моя программа унивеслальная и вставляет по нажатию определённой горячей клавиши в том месте где установлен курсор а если для каждой программы делать свою кнопку то что получится?для ворда для ехеля для блокнота для дельфи для ... Сам понимаешь не шибко красиво выходит :(


 
YurikGL ©   (2004-11-28 15:57) [14]


> Dema-X   (28.11.04 14:31) [13]

Ну тогда определи, в какое именно приложение нужно вставлять и пиши соответсвующий код.


 
Dema-X   (2004-11-28 18:31) [15]

а как? Хэндл есть.
на SendMessage(SysHoo.Wnd, WM_PASTE, 0,0); ворд не реагирует
на
keybd_event( VK_CONTROL,$45,  0 , 0 );
keybd_event( VK_lCONTROL,$45, 0 , 0 );
keybd_event( $56,$45, 0 , 0 );
keybd_event( $56,$45,KEYEVENTF_KEYUP, 0 );
keybd_event( VK_CONTROL,$45,KEYEVENTF_KEYUP, 0 );
keybd_event( VK_lCONTROL,$45,KEYEVENTF_KEYUP, 0 );
вставляет несколько раз подряд ... вся проблема только в этом :(


 
Dema-X   (2004-11-29 05:50) [16]


> YurikGL ©   (28.11.04 15:57) [14]
> Ну тогда определи, в какое именно приложение нужно вставлять
> и пиши соответсвующий код.

Идей нет?


 
YurikGL ©   (2004-11-29 07:07) [17]

Dema-X   (29.11.04 05:50) [16]

Я тебе точно не скажу как, но по handle наверняка можно узнать заголовок окна или что-то подобное.
Задай вопрос типа как по handle определить, какому приложению принадлежит окно или в яндексе поищи.


 
Dema-X   (2004-11-30 05:50) [18]


> YurikGL ©   (29.11.04 07:07) [17]
> Dema-X   (29.11.04 05:50) [16]
>
> Я тебе точно не скажу как, но по handle наверняка можно
> узнать заголовок окна или что-то подобное.
> Задай вопрос типа как по handle определить, какому приложению
> принадлежит окно или в яндексе поищи.

Поиск результата не дал :(


 
YurikGL ©   (2004-11-30 07:27) [19]

Посмотри
GetWindowText
и подобные функции из winapi

Вообще почитай про winapi там должны быть нужные комманды.


 
TUser ©   (2004-11-30 09:45) [20]


> YurikGL ©   (27.11.04 19:56) [9]
> Dema-X   (27.11.04 19:35) [8]
>
> Так... удаляй эту  вордаппликейшн и пиши следующий код:

[3] прекрасно работает. От содержимого буфера вообще ничего не зависит.

> Задай вопрос типа как по handle определить, какому приложению
> принадлежит окно

GetProcThreadId
При чем тут это? Я подозреваю, что все дело в версии ворда.


 
Dema-X   (2004-11-30 19:58) [21]


> [3] прекрасно работает. От содержимого буфера вообще ничего
> не зависит.

У меня валится


 
Dema-X   (2004-12-01 05:55) [22]


> Я подозреваю, что все дело в версии ворда.

OFFICE XP + DElphi7->OFFICE XP


 
Dema-X   (2004-12-05 07:30) [23]

.



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

Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.04 c
6-1097164875
raidan
2004-10-07 20:01
2004.12.19
Перехват всех пакетов


1-1102083054
Ольга
2004-12-03 17:10
2004.12.19
Динамическое создание PopupMenu


1-1102024978
Shnabs
2004-12-03 01:02
2004.12.19
Графика


1-1102258676
AdmeraL
2004-12-05 17:57
2004.12.19
TServerSocket и TClientSocket


1-1102410677
KOSH
2004-12-07 12:11
2004.12.19
bufer





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский