Niestandardowe skróty klawiszowe w programie Outlook 2010 lub 2013?

17

Jestem ćpunem Gmailowym, a jedną z moich ulubionych funkcji jest skrót klawiaturowy „a” w wiadomości e-mail, aby zarchiwizować wiadomość. Nie pamiętam, czy było to ustawienie domyślne, czy ustawiłem tak szybkie naciśnięcie klawisza, ale teraz jest to całkowicie zakorzenione w mojej pamięci.

Konfiguruję program Outlook 2010 (lub 2013) do pracy i konfiguruję podobny „szybki krok” do archiwizowania, oznaczania jako przeczytanego i oznaczania jako ukończonego dowolnego e-maila.

Byłoby świetnie, z wyjątkiem skrótów klawiaturowych, które dają tylko opcję „CTRL + SHIFT + 1” i inne opcje klawiszy numerycznych. Z zawiłym skrótem klawiaturowym nie będę go pamiętać i równie dobrze mogę sięgnąć po mysz.

Czy jest jakiś sposób, aby ustawić niestandardowe skróty klawiaturowe dla programu Outlook 2010? Chcę skróty jednoklawiszowe, a nie trzy-naraz!

ck_
źródło

Odpowiedzi:

7

Pomyślałem również, że skrót, w którym musisz nacisnąć trzy klawisze jednocześnie, był zbyt trudny!

Moje rozwiązanie było także w AutoHotKey. Najpierw ustaw tryb dopasowania tytułu na, RegExponieważ następnie możesz dopasować tytuły za pomocą wyrażenia regularnego. Umieść następujący tekst u góry skryptu:

SetTitleMatchMode RegEx

A oto skrót, który powinien działać tylko w Outlooku 2010 (zauważ, że używam Control + Shift + 9):

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

W programie Outlook 2013 regex należy nieznacznie zmodyfikować:

#IfWinActive Inbox.*Outlook
a:: SendInput ^+9
#IfWinActive
Tahir Hassan
źródło
Zastrzegający emptor. Korzystanie z okienka odczytu wydaje się łamać te fragmenty, ponieważ tytuł aktywnego okna się nie zmienia.
iPaulo,
iPaulo - prawda, ale używam ich tylko z głównego okna, więc działa dla mnie. BTW, używam CapsLock & anie tylko askrótu.
Tahir Hassan
Co jeśli wpisuję wiadomość e-mail w głównym oknie programu Outlook 2013? Wygląda na to, że to podejście nie zadziała, ponieważ naciśnięcie „a” spowoduje uruchomienie skrótu. Czy znasz jakiś sposób na wykrycie tego za pomocą AutoHotkey?
Michaił
@Mikhail - całkiem łatwo użyć innego skrótu, takiego jak Alt-a, który byłby !a. Aby uzyskać więcej informacji, zobacz autohotkey.com/docs/Hotkeys.htm .
Tahir Hassan
8
  1. Otwórz nowy e-mail
  2. Kliknij prawym przyciskiem myszy pasek narzędzi Szybki dostęp i wybierz opcję Dostosuj pasek narzędzi Szybki dostęp.
  3. W obszarze Wybierz polecenia z wybierz opcję Wszystkie polecenia.
  4. Wybierz Podpis i kliknij przycisk Dodaj.
  5. Kliknij OK

Jeśli masz pięć domyślnych pozycji na pasku narzędzi szybkiego dostępu, Signature będzie teraz # 6. Wejdź do niego naciskając Alt+ 6. Pamiętaj, że jeśli jesteś w Kalendarzu, musisz zwolnić Altprzed naciśnięciem 6.

Don
źródło
4

Możesz użyć Autohotkey, aby utworzyć dowolny skrót. Jest bardzo łatwy do nauczenia, mają wystarczająco dobrą dokumentację

Uwaga: Użyj #IfWinActive/ #IfWinExistdo ukierunkowania programu Outlook lub dowolnego innego programu.

Lombas
źródło
1
Dzięki, a właściwie mam uruchomionych kilka skryptów auto-klucza ... Przewiduję jednak problemy, zmieniając coś tak prostego jak klawisz „a” w polecenie. Musiałby być ograniczony do programu Outlook po raz pierwszy i tylko wtedy, gdy pole tekstowe nie jest aktywne. Może być to możliwe dzięki zaawansowanemu automatycznemu kluczowi, ale nie jest to proste.
ck_
1
Myślę, że możesz osiągnąć to, co chcesz, po prostu używając Window Spy w AutoHotKey, aby dowiedzieć się, jak zdefiniowane jest całe okno, a następnie używając IfWinActive, aby zastosować go tylko w niektórych klasach okien. Zobacz tę stronę, aby uzyskać szczegółowe informacje. autohotkey.com/docs/commands/IfWinActive.htm
blackmastiff
@blackmastiff Próbowałem zmienić program Outlook z trybu czytania na tryb pisania na maszynie - Window Spy nie wykrył żadnych zmian. Jakieś inne pomysły? Mogę tylko pomyśleć o sprawdzeniu hierarchii okien lub kolorów pikseli (co nie jest niezawodne).
Michaił
-2

Lubię to:

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
Stefan M.
źródło
7
W tej odpowiedzi brakuje kontekstu. Gdzie należy zapisać kod?
pabouk