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%
    }
}

別の提案は、ドキュメントが保護されている場合に発生する可能性があるということです。これが関連するかどうかはわかりませんが、調査するためのルートを教えてください。
スチュアートマクラフリン

なぜ「SendMode Input;」二回線?それは意図的なものですか、それとも単なるコピーアンドペーストエラーですか?
sbtkd85

これは、2003年にMicrosoftがOutlookに導入したセキュリティ強化とは関係ありませんか?

私はここでこの質問につまずき続けます、そして、毎回私の頭に浮かぶ1つのものがあります:いったいなぜあなたはAutoHotkeyフォーラムでこの質問をしませんか?この種の問題については、非常に多くの専門知識があります。
ユーザー99572は順調です

Outlookがアクティブになっていることを確認するためにチェックしましたか?これを確認するには、[ファイル]-> [ヘルプ]を選択します。
cmorse

回答:


1

エラーは発生しませんでしたが、可能性のある障害点と他の2つの点を発見しました。多分それらを修正するか、少なくともパラメーターをいじる。

関連するコントロールを含むチェックリスト

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.