С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/96: Рейтинг темы: голосов - 96, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 27

Как программно задать горячие клавиши на макрос?

26.05.2006, 02:59. Показов 18293. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Существует собственная книга макросов. Необходимо подвесить на один из макросов "Hot Key"
Вот есть строка
Application.OnKey "^%{BACKSPACE}", "V1"

Не могу понять где разместить эту строку, что бы все заработало.
С уважением,
Александр
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2006, 02:59
Ответы с готовыми решениями:

Как в Access отключить "горячие клавиши"?
Здравствуйте! Подскажите, пожалуйста, как в Access отключить 'горячие клавиши'? Спасибо, Андрей.

Горячие клавиши в общем шаблоне
Как запрограммировать горячие клавиши в файле так, чтобы весь процесс настройки этих горячих клавиш выглядел как простой открытие...

Как программно разлочить макрос?
Значит вот проблема. Я в Excel написал макрос и запаролил его. В процессе отработки макроса мне надо создавать новые листы Excel и...

9
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
26.05.2006, 09:55
Макрос auto_open всегда срабатывает при открытии книги.

Его добавить в модуль.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub auto_open()
 
Application.OnKey "^{BACKSPACE}", "Макрос"
 
End Sub
 
Sub Макрос()
 
MsgBox "Привет", vbCritical, ""
 
End Sub
0
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
26.05.2006, 10:30
Ещё:

http://www.relib.com/forums/Topic752698-11-1.aspx
0
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 27
26.05.2006, 17:33  [ТС]
To Masalov:
Спасибо за исчерпывающий ответ. Все прекрасно работает.
Тема закрыта
0
0 / 0 / 0
Регистрация: 05.05.2006
Сообщений: 11
19.06.2006, 17:22
Добрый день,
у меня вопрос по теме - как привязать макрос к открытию документа??
и еще у меня не срабатывает вызов макроса по сочетанию клавиш:
Visual Basic
1
2
3
4
5
6
Sub auto_open()
Application.OnKey "^~", "temp"
End Sub
Sub temp()
    MsgBox "Hi World"
End Sub
Птшет: "Не найден макрос..." Хотя у меня оба макроса находятся прямо в рабочей книге, что я делаю неправильно??
0
0 / 0 / 0
Регистрация: 05.05.2006
Сообщений: 11
19.06.2006, 19:22
Вместо АвтоОпэн пробовал и такой вариант, но результат - тот же самый:
Visual Basic
1
2
3
Private Sub Workbook_Open()
       Application.OnKey "^~", "Temp"
End Sub
Может версия Экселя не совместима с этими макрокомандами?? у меня 2003 Эксель..
0
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
20.06.2006, 12:06
VladDudka

В качестве горячей клавиши Вы указываете ~ ?

Неудачно...

Попробуйте сделать так Сервис->Макрос->Начать запись и в появившемся окне задать горячую клавишу ctrl+~

И получите сообщение, что нужно задать букву...



Рекомендую ещё ознакомиться с:

http://msoffice.nm.ru/faq/macros/miscellaneous.htm#faq95
0
0 / 0 / 0
Регистрация: 05.05.2006
Сообщений: 11
20.06.2006, 17:23
<TABLE cellSpacing=0 cellPadding=0 width="100% <TBODY><TR><TD class=smalltxt vAlign=top>
Собственно с Enter все нормально и комбинация Ctrl+Enter работает.. не получается прицепить выполнение макроса к событию - открытие файла с данным макросом.. + не получается запустить из одного макроса другой.. наверное я его неправильно вызываю.. а комбинация отлично работает..</P></TD></TR></TBODY></TABLE>
0
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
20.06.2006, 18:11
Берем Excel-файл, нажимаем Alt+F11, тем самым зашли в редактор.

Далее сверху кнопка Insert -> Module, тем самым добавили модуль.

В тело модуля вставляем код, например:
Visual Basic
1
2
3
4
5
6
7
Sub auto_open()
Application.OnKey "^{BACKSPACE}", "Макрос"
End Sub
 
Sub Макрос()
MsgBox "Привет", vbCritical, ""
End Sub
Сохраняем файл.

Закрываем файл.

Открываем файл, должно работать. (при нажатии Ctrl+BackSpace выскочит "Привет")



ЗЫ: Auto_open должен быть один на файл...
0
0 / 0 / 0
Регистрация: 05.05.2006
Сообщений: 11
20.06.2006, 20:06
хм.. перенес
Visual Basic
1
2
3
Sub auto_open()
    Application.OnKey "^{BACKSPACE}", "DataUpdate.DataUpdate"
End Sub
из отдельного модуля AutoOpen в модуль DataUpdate и все заработало!! Спасибо)) хотя до конца я так и не понял в чем раньше проблема была..
А почему мне адрес макроса надо прописывать так - DataUpdate.DataUpdate?? а не просто само название DataUpdate??
И когда непосредственно из Экселя вызываю макросы, то там тоже, не просто название макроса, а названиерабочей книги.название макроса..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.06.2006, 20:06
Помогаю со студенческими работами здесь

Задать глобально горячие клавиши только для своего приложения
Private Sub Avtorizacia_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown If...

Можно ли задать горячие клавиши для выполнения действия из определённого пункта контекстного меню Проводника?
Вопщем весь вопрос в шапке

Как присваивать горячие клавиши к примеру на выполнение нажатие клавиши
Народ. не могу найти, как в студии присваивать горячие клавиши к примеру на выполнение нажатие клавиши? или на пункты меню.. Добавлено...

Горячие клавиши - обойти наведение фокуса и привязать клавиши клавиатуры к кнопкам на форме
всем доброго времени суток. столкнулся с такой проблемой. требуется чтобы при нажатии определенных кнопок на клавиатуре соответственно...

Как сделать горячие клавиши в StripMenu
Как сделать горячие клавиши в StripMenu?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru