Как я могу назначить сочетание клавиш для макроса VBA в Outlook 2007?
Я знаю, как создать инструмент для макроса и поместить его в меню с помощью ярлыка подчеркивания. Это решение требует, чтобы я использовал ярлык Alt + {menu key} + {tool key}. Что, если я захочу назначить его Alt + F12 или что-то в этом роде?
Редактор Visual Basic назначается сочетанию клавиш Alt + F11 в Outlook 2007. Я хочу назначить такое сочетание клавиш макросу или, при необходимости, макросу для инструмента в меню или на панели инструментов.


Поскольку в Outlook нет события OnKey, самый простой способ - назначить макросу кнопку на панели инструментов и поместить где-нибудь в его имя амперсанд. Это работает, только если ваше ярлык не конфликтует с существующим ярлыком.
Возможно, вам также повезет с установкой глобальной горячей клавиши, но обычно это сложнее, чем того стоит:
http://www.mvps.org/vbvision/_samples/HotKey_Demo.zip
Статья Сделай сам IntelliSense из MSDN предоставляет отличную информацию о привязках клавиш в VBA.
RE: комментарий выше о «Это работает, только если ваше ярлык не конфликтует с существующим ярлыком». Не совсем верно, я не уверен, сняли ли они ограничение или оно когда-либо существовало, но вы можете добавить ярлык к команде, даже если такой же ярлык уже существует для встроенной команды в том же меню. Пользователю просто нужно нажать комбинацию клавиш второй раз, чтобы перейти к альтернативной команде, в противном случае он перейдет к первой. Microsoft даже использует это расположение для одной или двух команд.