powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ЗАСТАВИТЬ РАБОТАТЬ РЕКОРДЕР ДЛЯ МЫШКИ ИЗ EXCEL VBA
6 сообщений из 6, страница 1 из 1
ЗАСТАВИТЬ РАБОТАТЬ РЕКОРДЕР ДЛЯ МЫШКИ ИЗ EXCEL VBA
    #34609129
rosa777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемое сообщество!
Есть хорошая бесплатная программа GhostMouse 2.0 записывает все действия мышки.
Свои действия она сохраняет в файле с расширением .GMS
Как заставить запуститься этот файл из EXCEL VBA?
Как заставить макрос "дождаться" окончания выполнения действий программы GhostMouse, например её автоматического закрытия по окончанию прогона файла .GMS?
Заранее благодарен...
...
Рейтинг: 0 / 0
ЗАСТАВИТЬ РАБОТАТЬ РЕКОРДЕР ДЛЯ МЫШКИ ИЗ EXCEL VBA
    #34610517
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запуск через shell
Дождаться - через waitforsingleobject (api) что то в этом роде. ИЛИ если знаете время, то Application.OnTime

...
Рейтинг: 0 / 0
ЗАСТАВИТЬ РАБОТАТЬ РЕКОРДЕР ДЛЯ МЫШКИ ИЗ EXCEL VBA
    #34612056
rosa777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А МОЖНО ПОПОДРОБНЕЕ ДЛЯ ДИЛЕТАНТА
ПРОБЛЕМА В ТОМ ЧТО ЕСТЬ НЕСОВЕРШЕННАЯ ПРОГРАММА WinMaster 2.1 с которой через EXCEL удалось скачать кучу материалов для отчетов, спимания материалов, но не удается автоматизировать выдачу технологических карт и РЕКОРДЕР МЫШКИ стал наиболее простым вариантом. Эксель знает сколько раз ее запускать, но я по своей неопытности пока не настолько разбиораюсь в VBA/ Можно кусочек кода? заранее благодарен...
...
Рейтинг: 0 / 0
ЗАСТАВИТЬ РАБОТАТЬ РЕКОРДЕР ДЛЯ МЫШКИ ИЗ EXCEL VBA
    #34612210
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
'Источник: vbnet.ru
Option Explicit
Private Type STARTUPINFO
    cb As Long
    lpReserved As String
    lpDesktop As String
    lpTitle As String
    dwX As Long
    dwY As Long
    dwXSize As Long
    dwYSize As Long
    dwXCountChars As Long
    dwYCountChars As Long
    dwFillAttribute As Long
    dwFlags As Long
    wShowWindow As Integer
    cbReserved2 As Integer
    lpReserved2 As Long
    hStdInput As Long
    hStdOutput As Long
    hStdError As Long
End Type
Private Type PROCESS_INFORMATION
    hProcess As Long
    hThread As Long
    dwProcessID As Long
    dwThreadID As Long
End Type
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CreateProcessA Lib "kernel32" (ByVal lpApplicationName As Long, ByVal lpCommandLine As String, ByVal lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Const NORMAL_PRIORITY_CLASS = &H20&
Private Const INFINITE = - 1 &

Public Sub ExecCmd(cmdline As String)
Dim proc As PROCESS_INFORMATION
Dim start As STARTUPINFO
Dim ret As Long
' Инициализируем структуру STARTUPINFO:
start.cb = Len(start)
' Запускаем приложение:
ret = CreateProcessA( 0 &, cmdline,  0 &,  0 &,  1 &, NORMAL_PRIORITY_CLASS,  0 &,  0 &, start, proc)
' Ждем завершения запущенного приложения:
ret = WaitForSingleObject(proc.hProcess, INFINITE)
ret = CloseHandle(proc.hProcess)
End Sub
Пример использования (запуск калькулятора):
Код: plaintext
1.
2.
3.
4.
5.
Sub gh()
    ExecCmd "C:\WINDOWS\system32\calc.exe"
    MsgBox "Калькулятор завершил работу"
End Sub

...
Рейтинг: 0 / 0
ЗАСТАВИТЬ РАБОТАТЬ РЕКОРДЕР ДЛЯ МЫШКИ ИЗ EXCEL VBA
    #34612599
rosa777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РЕКОРДЕР Я ЗАПУСТИЛ

Sub ЗАПУСК_РЕКОРДЕРА()

ExecCmd "C:\GMouse20\GMouse.exe"

End Sub

А мне надо запустить файл C:\GMouse20\ЗАПУСК.GMS

(рекордер уже настроен на автоматический запуск при открытии этого файла)

Без этого теряется весь смысл автоматизации.

А вообще полезнейшая вещь, большое спасибо.
Жду ответа на новый вопрос
...
Рейтинг: 0 / 0
ЗАСТАВИТЬ РАБОТАТЬ РЕКОРДЕР ДЛЯ МЫШКИ ИЗ EXCEL VBA
    #34614398
rosa777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФАЙЛ ТОЖЕ ОТКРЫЛ ПОРЫВШИСЬ В ТОПИКАХ,
ИЗМЕНИЛ ПУНКТ В НАСТРОЙКАХ VBA см картинку
Sub ЗАПУСК_РЕКОРДЕРА()

Dim s As New Shell
s.Open "C:\GMouse20\ЗАПУСК.gms"

Range("C25").Select
ActiveCell.FormulaR1C1 = "ФАЙЛ ПРОИГРЫВАТЕЛЯ ЗАВЕРШЕН"

End Sub

НО МАКРОС ТЕПЕРЬ ПЕРЕСТАЛ ЖДАТЬ ЗАКРЫТИЯ ФАЙЛА
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ЗАСТАВИТЬ РАБОТАТЬ РЕКОРДЕР ДЛЯ МЫШКИ ИЗ EXCEL VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]