[/vba] Пока в фоновом режиме ломаю голову, как прилепить это на горячую клавишу. Возможно, политика безопасности компании на работе не позволяет. Дома как-нибудь проверю вариант.
[vba]
Код
; capture and pass along a keypress HotKeySet("!x", "Open_File") HotKeySet("!z", "End_Script")
[/vba] Пока в фоновом режиме ломаю голову, как прилепить это на горячую клавишу. Возможно, политика безопасности компании на работе не позволяет. Дома как-нибудь проверю вариант.
[vba]
Код
; capture and pass along a keypress HotKeySet("!x", "Open_File") HotKeySet("!z", "End_Script")
Привет. Отработало, только что попробовал, но то что не под спойлером. Только конечно подставил свой файл с моим макросом. P.S. И спойлер тоже отработал.
Привет. Отработало, только что попробовал, но то что не под спойлером. Только конечно подставил свой файл с моим макросом. P.S. И спойлер тоже отработал.Hugo
Hugo, классно, спасибо. На счёт "без спойлера" сомнений не было, код "отшлифован" хорошенько =) Вопрос был только к спойлеру. Значит, дело не в коде, какой-то вопрос на моей стороне не даёт горячей клавише сработать. Позже надо потестировать пару вариантов.
Hugo, классно, спасибо. На счёт "без спойлера" сомнений не было, код "отшлифован" хорошенько =) Вопрос был только к спойлеру. Значит, дело не в коде, какой-то вопрос на моей стороне не даёт горячей клавише сработать. Позже надо потестировать пару вариантов.Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Сообщение отредактировал Rioran - Пятница, 20.03.2015, 10:55
; capture and pass along a keypress HotKeySet("!x", "Open_File") HotKeySet("!z", "End_Script")
While 1 sleep (50) WEnd
Func Open_File() HotKeySet("!x") $Excel_App = ObjCreate("Excel.Application") ; Create an Excel Object $Excel_App.Workbooks.Open ("C:\Users\rvoronov\Desktop\Electricity_Question_02.xlsb") Sleep(1000) $Excel_App.Visible = 1 ; Let Excel show itself $Excel_File = $Excel_App.ActiveWorkbook.Name Sleep(1000) $Excel_Macro = "Rio_Test" Sleep(1000) $Excel_App.run ("'" & $Excel_File & "'!" & $Excel_Macro) HotKeySet("!x", "Open_File") ;'Вот эту добавляем - и теперь жать можно многократно. EndFunc
Func End_Script() HotKeySet("!z") Exit EndFunc
[/vba] Если кому-то надо, могу ещё прикрутить быструю клавишу для закрытия файла. Или что бы макрос проигрывался и файл закрывался сам с сохранением / без.
Альт-Икс запускает открытие файла и работу макроса, Альт-Зет прерывает скрипт полностью, чтобы быстрые клавиши не занимать.
Hugo, лечится добавлением одной строки:
[vba]
Код
; capture and pass along a keypress HotKeySet("!x", "Open_File") HotKeySet("!z", "End_Script")
While 1 sleep (50) WEnd
Func Open_File() HotKeySet("!x") $Excel_App = ObjCreate("Excel.Application") ; Create an Excel Object $Excel_App.Workbooks.Open ("C:\Users\rvoronov\Desktop\Electricity_Question_02.xlsb") Sleep(1000) $Excel_App.Visible = 1 ; Let Excel show itself $Excel_File = $Excel_App.ActiveWorkbook.Name Sleep(1000) $Excel_Macro = "Rio_Test" Sleep(1000) $Excel_App.run ("'" & $Excel_File & "'!" & $Excel_Macro) HotKeySet("!x", "Open_File") ;'Вот эту добавляем - и теперь жать можно многократно. EndFunc
Func End_Script() HotKeySet("!z") Exit EndFunc
[/vba] Если кому-то надо, могу ещё прикрутить быструю клавишу для закрытия файла. Или что бы макрос проигрывался и файл закрывался сам с сохранением / без.
Альт-Икс запускает открытие файла и работу макроса, Альт-Зет прерывает скрипт полностью, чтобы быстрые клавиши не занимать.Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Сообщение отредактировал Rioran - Пятница, 20.03.2015, 15:55