AutoHotKey가 Outlook 2010에서 작동하지 않습니다


13

AutoHotKey 스크립트를 작성하여 exe로 컴파일했습니다.

그런 다음 exe를 실행하고 Outlook 2010을 실행했습니다.

핫키를 사용하려고하면 상태 표시 줄에 "선택이 잠겨 있기 때문에 수정할 수 없습니다."라는 오류가 표시됩니다.

나는 약간의 연구를 해왔고 그 오류 솔기는 트레일 결말과 함께 묶였습니다. 그러나 나는 직장 컴퓨터에 있고 시험을 실행하지 않습니다.

이 문제를 해결하는 방법이 있습니까?

여기 내 ahk 파일이 있습니다

SendMode Input ; Recommended for new scripts due to its superior speed and reliability.

SendMode Input ; superior speed and reliability.

SetTitleMatchMode 2 ;allow partial match to window titles

;********************
;Hotkeys for Outlook 2010
;********************
;As best I can tell, the window text ‘NUIDocumentWindow’ is not present
;on any other items except the main window. Also, I look for the phrase
; ‘ – Microsoft Outlook’ in the title, which will not appear in the title (unless
;a user types this string into the subject of a message or task).
#IfWinActive – Microsoft Outlook ahk_class rctrl_renwnd32, NUIDocumentWindow

y::HandleOutlookKeys("!hy", "y") ;calls archive macro
f::HandleOutlookKeys("^f", "f") ;forwards message
r::HandleOutlookKeys("^r", "r") ;replies to message
a::HandleOutlookKeys("^+r", "a") ;reply all
v::HandleOutlookKeys("^+v", "v") ;Move message box
+u::HandleOutlookKeys("^u", "+u") ;marks messages as unread
+i::HandleOutlookKeys("^q", "+i") ;marks messages as read (^q is read/unread toggle)
j::HandleOutlookKeys("{Down}", "j") ;move down in list
+j::HandleOutlookKeys("{Down}{Enter}", "+j") ;move down and select next item
k::HandleOutlookKeys("{Up}", "k") ;move up
+k::HandleOutlookKeys("{Up}{Enter}", "+k") ;move up and select next item
o::HandleOutlookKeys("^o", "o") ;open message
s::HandleOutlookKeys("{Insert}", "s") ;toggle flag (star)
c::HandleOutlookKeys("^n", "c") ;new message
/::HandleOutlookKeys("^e", "/") ;focus search box
.::HandleOutlookKeys("+{F10}", ".") ;Display context menu

#IfWinActive
;Passes Outlook a special key combination for custom keystrokes or normal key value, depending on context
HandleOutlookKeys( specialKey, normalKey ) {
    ;Activates key only on main outlook window, not messages, tasks, contacts, etc.
    IfWinActive, – Microsoft Outlook ahk_class rctrl_renwnd32, NUIDocumentWindow, ,
    {
        ;Find out which control in Outlook has focus
        ControlGetFocus, currentCtrl
        ;MsgBox, Control with focus = %currentCtrl%
        ;set list of controls that should respond to specialKey. Controls are the list of emails and the main (and minor) controls of the reading pane, including controls when viewing certain attachments.
        ;Currently I handle archiving when viewing attachments of Word, Excel, Powerpoint, Text, jpgs, pdfs
        ;The control ‘RichEdit20WPT1' (email subject line) is used extensively for inline editing. Thus it had to be removed. If an email’s subject has focus, it won’t archive…
        ctrlList = Acrobat Preview Window1, AfxWndW5, AfxWndW6, EXCEL71, MsoCommandBar1, OlkPicturePreviewer1, paneClassDC1, RichEdit20WPT2, RichEdit20WPT4, RichEdit20WPT5, RICHEDIT50W1, SUPERGRID1, SUPERGRID2, _WwG1
        if currentCtrl in %ctrlList%
        {
            Send %specialKey%
            ;Allow typing normalKey somewhere else in the main Outlook window. (Like the search field or the folder pane.)
        } else {
            Send %normalKey%
        }
        ;Allow typing normalKey in another window type within Outlook, like a mail message, task, appointment, etc.
        } else {
            Send %normalKey%
    }
}

또 다른 제안은 문서가 보호 된 경우에 발생할 수 있다는 것입니다. 이것이 관련이 있는지 모르겠지만 조사 할 경로를 제공 할 수 있습니까?
Stuart McLaughlin

왜 "SendMode 입력;" 두 번 줄? 이것은 의도적 인 것입니까 아니면 복사 및 붙여 넣기 오류입니까?
sbtkd85

2003 년에 Microsoft가 Outlook에 도입 한 보안 강화와 관련이 없습니까?

나는이 질문을 여기에서 계속 넘어 뜨리고, 매번 떠오르는 한 가지가있다 : 왜 AutoHotkey 포럼에서이 질문을하지 않는가? 이런 종류의 문제에 대한 엄청난 전문 지식이 있습니다.
사용자 99572은 괜찮습니다

Outlook이 활성화되어 있는지 확인 했습니까? File-> Help로 이동하여이를 확인할 수 있습니다.
cmorse

답변:


1

나는 당신의 오류를 얻지 못했지만 하나의 가능한 실패 지점과 다른 두 가지를 발견했습니다. 아마도 그것들을 수정하거나 적어도 매개 변수로 놀고있을 것입니다.

관련 관리 기능이있는 점검표

ctrlList = Acrobat Preview Window1,AfxWndW5,AfxWndW6,EXCEL71,MsoCommandBar1,OlkPicturePreviewer1,paneClassDC1,RichEdit20WPT2,RichEdit20WPT4,RichEdit20WPT5,RICHEDIT50W1,SUPERGRID1,SUPERGRID2,_WwG1

관련 Autohotkey 문서에서 인용하여 모든 공백을 제거했습니다.

쉼표로 구분 된 문자열 목록이며 각 문자열은 일치하는 Var의 내용과 비교됩니다. 구분 쉼표 주위의 공백이나 탭은 의미가 있으며 이는 일치 문자열의 일부임을 의미합니다. 예를 들어, MatchList가 ABC로 설정된 경우 XYZ 인 경우 Var에는 후행 공백이있는 ABC 또는 선행 공백이있는 XYZ가 포함되어 있어야합니다.

창 감지

#IfWinActive - Microsoft Outlook ahk_class rctrl_renwnd32

창 스파이를 실행할 때 "NUIDocumentWindow"항목이 표시되지 않습니다. 키 전송 기능 내 관련 행도 마찬가지입니다.

IfWinActive, - Microsoft Outlook ahk_class rctrl_renwnd32
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.