Форум: "Основная";
Текущий архив: 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.035 c