![]() |
|
Модераторы: mihanik |
![]()
|
|
| nazkaren |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 22.5.2007 Где: Армения Репутация: нет Всего: нет |
Ребята.
У меня несколько проблем, надеюсь вы поможите мне их решить. 1. Мне надо программным способом ввести значения в editbox-ы в IE. Я пробовал послать сообщения окну. Но это никакого эффекта не дает. Я думаю что сообщения надо передать прямо control-ам (или я не прав?), а как - не знаю. 2. Такая же проблема, только надо сэмуллировать Tab, Enter, некаторые shortcut-ы и тд и тп. 3. Еще во время эмулляции ожидается загрузка страниц IE. Как узнать когда они полностью загружены что-бы продолжить работу с ними. Скрипт я пишу в VBA. Но если у вас есть примеры на других языках, не проблема - посылайте. |
|||
|
||||
| Genyaa |
|
|||
|
Усердный ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 25.9.2006 Где: Москва Репутация: 2 Всего: 11 |
1 и 2. См. sendkeys в Help'е VBA.
3. Я лично просто делаю приостановку выполения кода с помощь Wait (точнее я использую свою функцию, но она подобна Wait) --------------------
Всякое решение плодит новые проблемы. |
|||
|
||||
| nazkaren |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 22.5.2007 Где: Армения Репутация: нет Всего: нет |
Уважаемый Genyaa, как отправить сообщение: я знаю. У меня проблема иного рода: когда я отправляю сообщение IE, не вижу никакого эффекта, отправка WM_CHAR или WM_KEYUP, WM_KEYDOWN не заставляют IE написать хоть буковку в активный editbox.
За sendkeys спасибо, я иным способом решил эету задачу. А на счет третего пункта: пожалуй я не воспользуюсь вашим методом, подожду других предложений. |
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 9 Всего: 109 |
Как? Опиши решение!!! И кроме того!!! Модератор: Пожалуйста, один топик - один вопрос. |
|||
|
||||
| nazkaren |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 22.5.2007 Где: Армения Репутация: нет Всего: нет |
mihanik-у
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long Const NILL = 0& Const WM_SYSCOMMAND = &H112 Const WM_CHAR = &H102 Const WM_KEYDOWN = &H101 Const WM_KEYUP = &H102 Const SC_CLOSE = &HF060 strClassName = "IEFrame" ' Internet Explorer window class name strCaption = "HFE: User Sign In - Microsoft Internet Explorer" ' IE Caption '* Determine the handle to the Calculator window. Handle = FindWindow(strClassName, strCaption) '* Post a message to Calc to end it's existence. ' X& = SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, NILL) X& = SendMessage(Handle, WM_CHAR, 65, NILL) X& = SendMessage(Handle, WM_KEYDOWN, 13, NILL) X& = SendMessage(Handle, WM_KEYUP, 13, NILL) Дело в том Mihanik что Genyaa в сущности не ответил на мой вопрос. Я не спрашивал как отправить сообшение а как записывать текст в конкретный control - а именно: в активный editbox некоего окна IE. А насчет разных вопросов - я сформулировал эти вопросы в одном месте, потому что думаю что они взаимосвязаны, и человек который ответит на один, сможет ответить и на две остальные. |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |