|
|
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
Вот у меня возник вопрос, можно ли VBA заставить работать с другим приложением помимо офисса, переключится на другое окно , работающего прложения реально, а вот совершать в нем какие то действия, например хотяб по пикселям идти считывать инфу , либо заполнять какие либо формы. (оффис 2003) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2007, 12:51:14 |
|
||
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
так как писать я разобрался Sendkeys а можно ли в сендкейсы какую нить переменную ввести, чтобы как текст было? тогда эт не сендкейс, а что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2007, 13:36:51 |
|
||
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
up вопрос актуален ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 09:17:46 |
|
||
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
копай в эту сторону: Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 09:31:17 |
|
||
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
timtimкопай в эту сторону: Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long спасибо ))) хожу брожу по и-нету пытаюсь найти как применить )) хелп вбашный не помог :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 10:28:40 |
|
||
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
посмотри например это http://www.kbyte.ru/Expert/Show.aspx?id=358&lang=uk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 11:27:08 |
|
||
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
timtimпосмотри например это http://www.kbyte.ru/Expert/Show.aspx?id=358&lang=uk о как, пасиб, но там же пример именно для VB 6.0 а не для вба. вот той строкой которую ты мне дал, мы подключаем библиотку SendMessage? Sub kill() AppActivate "PCSWS" Application.Wait (Now + TimeValue("0:00:2")) x = 10 Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Application.Wait (2) SendMessage x End Sub при запуске такого макроса ,выделяет строку Public Declare... и пишет Только коментарии могут быть после End Sub , End Function , End property. чует мое сердце я чето больно косячное делаю.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 11:42:47 |
|
||
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long это функция API, и её надо в модуль ложить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 11:51:01 |
|
||
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
timtimDeclare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long это функция API, и её надо в модуль ложить так ? Option Explicit Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long ____________________________ Sub kill() Dim x AppActivate "PCSWS" Application.Wait (Now + TimeValue("0:00:2")) x = 1 SendMessage x End Sub оно проглотило Declare нормально , теперь в SendMessage x ругается Variable not found. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 11:59:01 |
|
||
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
Если убрать Option Expilit то всеравно ругается на SendMessage (Argument not optional) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2007, 12:01:45 |
|
||
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
up ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 09:22:35 |
|
||
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
Итак, нашел решение, долга гуглил... ждал тут ответа ) ну вот , мож кому пригодится, запощу, все довольно просто :) спешал для поиска: другое приложение, открытие , левый клик мышью, эмуляция, курсор Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal Y As Long) As Long Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) Private Const MOUSEEVENTF_LEFTDOWN = &H2 Private Const MOUSEEVENTF_RIGHTDOWN As Long = &H8 Private Const MOUSEEVENTF_RIGHTUP As Long = &H10 Sub foo() 'activate the window AppActivate "Untitled - Notepad" 'move the cursor where you need it, I guessed at 200,200 SetCursorPos 30, 30 'send a down event mouse_event MOUSEEVENTF_LEFTDOWN, 0&, 0&, 0&, 0& 'and an up mouse_event MOUSEEVENTF_LEFTUP, 0&, 0&, 0&, 0& End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2007, 10:41:35 |
|
||
|
Возможность работы с другими приложениями
|
|||
|---|---|---|---|
|
#18+
так, проблема, он зажимает кнопку, но не отпускает...хмм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2007, 11:05:48 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34753852&tid=2182402]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 313ms |

| 0 / 0 |
