Настраиваемые сочетания клавиш в Outlook 2010 или 2013?

17

Я наркоман Gmail, и одна из моих любимых функций - это сочетание клавиш «а» внутри электронного письма для архивирования сообщения. Я не могу вспомнить, было ли это по умолчанию или я установил его на такое быстрое небольшое нажатие клавиши, но сейчас оно полностью укоренилось в моей памяти.

Я настраиваю Outlook 2010 (или 2013) для работы и настраиваю аналогичный «быстрый шаг» для архивирования, пометки как прочитанной и пометки как завершенной любой электронной почты.

Было бы замечательно, за исключением сочетаний клавиш, они дают только вариант "CTRL + SHIFT + 1" и другие параметры цифровых клавиш. С извилистым сочетанием клавиш я не запомню его и с таким же успехом могу просто дотянуться до своей мыши.

Есть ли способ установить пользовательские сочетания клавиш для Outlook 2010? Я хочу сочетания клавиш, а не 3 клавиши сразу!

ck_
источник

Ответы:

7

Я также подумал, что ярлык, когда нужно нажимать три клавиши одновременно, был слишком сложным!

Мое решение было также в AutoHotKey. Сначала вы устанавливаете режим соответствия заголовков, RegExпотому что тогда вы можете сопоставлять заголовки с помощью регулярного выражения. Поместите следующее в верхнюю часть вашего скрипта:

SetTitleMatchMode RegEx

И вот ярлык, который должен работать только в Outlook 2010 (обратите внимание, что я использую Control + Shift + 9):

#IfWinActive Inbox.*Microsoft Outlook
a:: SendInput ^+9
#IfWinActive

В Outlook 2013 регулярное выражение необходимо немного изменить:

#IfWinActive Inbox.*Outlook
a:: SendInput ^+9
#IfWinActive
Тахир Хасан
источник
Пусть покупатель будет бдителен. Использование панели чтения, кажется, нарушает эти фрагменты, поскольку заголовок активного окна не изменяется.
iPaulo
iPaulo - правда, но я использую их только из главного окна, поэтому оно работает для меня. Кстати, я использую CapsLock & aне только aдля горячей клавиши.
Тахир Хасан
Что если я наберу электронное письмо в главном окне Outlook 2013? Похоже, что этот подход не будет работать, так как нажатие «a» вызовет ярлык. Знаете ли вы какой-либо способ обнаружить это с помощью AutoHotkey?
Михаил
@Mikhail - довольно просто использовать другой ярлык, например Alt-a !a. См. Autohotkey.com/docs/Hotkeys.htm для получения дополнительной информации.
Тахир Хасан
8
  1. Откройте новое письмо
  2. Щелкните правой кнопкой мыши панель быстрого доступа и выберите «Настроить панель быстрого доступа».
  3. В разделе «Выбрать команды из» выберите «Все команды».
  4. Выберите Подпись и нажмите кнопку Добавить.
  5. Нажмите ОК

Если у вас было пять элементов по умолчанию на панели быстрого доступа, подпись теперь будет # 6. Доступ к нему, нажав Alt+ 6. Обратите внимание, что если вы находитесь в календаре, вам нужно отпустить, Altпрежде чем нажать 6.

дон
источник
4

Вы можете использовать AutoHock для создания любого ярлыка, который вы хотите. Это очень легко выучить, у них достаточно хорошая документация

Примечание. Используйте #IfWinActive/ #IfWinExistдля целевой Outlook или любой другой программы.

Ломбас
источник
1
Спасибо, и на самом деле у меня запущено несколько сценариев autohotkey ... Однако я предвижу неприятности, меняя что-то столь же простое, как клавиша "a", в команду. Это должно быть ограничено Outlook в первую очередь, и только когда текстовое поле не имеет фокуса. Может быть возможно с продвинутым autohotkey, но не просто.
ck_
1
Я думаю, что вы могли бы достичь того, что хотели, просто используя Window Spy в AutoHotKey, чтобы выяснить, как определяется все окно, а затем, используя IfWinActive, чтобы оно применялось только в определенных классах окон. Смотрите эту страницу для деталей. autohotkey.com/docs/commands/IfWinActive.htm
blackmastiff
@blackmastiff Я попытался переключить Outlook из режима чтения в режим ввода текста - Window Spy не обнаружил никаких изменений. Есть еще идеи? Я могу думать только о проверке иерархии окон или цветов пикселей (что не является надежным).
Михаил
-2

Как это:

Opt("WinTitleMatchMode", 2)
HotKeySet("{INSERT}", "captureIns")
Func captureIns()
    HotKeySet("{INSERT}")

   if (WinGetState("Microsoft Outlook") == 15) Then
      Send("{CTRLDOWN}")
      Send("{SHIFTDOWN}")
      Send("1")
      Send("{SHIFTUP}")
      Send("{CTRLUP}")
   EndIf

   HotKeySet("{INSERT}", "captureIns")
 EndFunc

while 1
   sleep(100000000)
WEnd
Стефан М.
источник
7
В этом ответе отсутствует контекст. Куда должен быть записан код?
Пабук