Microsoft Office是由Microsoft(微軟)公司開發(fā)的一套辦公軟件套裝。常用組件有 Word、Excel、PowerPoint等。Microsoft Office是一套由微軟公司開發(fā)的辦公軟件,它為 Microsoft Windows 和 Mac OS X而開發(fā)。 ?介紹了AHK的入門操作。實際應用時,通常會在同一個腳本中,對不同軟件建立不同的快捷鍵體系,本文將介紹一個非常實用的函數(shù)來實現(xiàn)上述功能。 讓熱鍵僅在指定軟件中有效 之前的示例腳本中,將F1定義為了onenote一級標題樣式快捷鍵,但F1鍵如此方便好用,我也想在Excel中用它進行重映射,怎么辦呢? 雖然你可以選擇為每個軟件單獨寫一個腳本,但這樣做,管理和運行起來均不方便。實際應用中,一個.ahk腳本可能包含了成百上千行代碼,這些代碼集成了你打開電腦會經(jīng)常使用的幾乎所有熱鍵功能。例如onenote、Excel等軟件中的常用熱鍵,通常是寫在一個腳本中,如何讓各軟件中的快捷鍵彼此互不影響,并且只在各自的軟件窗口才生效呢? 必須先推薦一下這個函數(shù):#IfWinActive,定義在該函數(shù)內(nèi)的熱鍵,會根據(jù)軟件窗口是否為當前活動窗口,而執(zhí)行不同的動作。 例如,將之前的那段代碼用#IfWinActive包起來,那么此處的F1鍵對應的動作,只有在當前窗口為onenote時才有效,在其他軟件中不會生效。 #IfWinActive,ahk_classFramework::CFrame;Framework::CFrame即onenote的類名 F1:: Send,^!1 return #IfWinActive 同樣地,你可以在同一腳本中,用F1來定義Excel中的顯示/隱藏當前單元格的批注。兩個F1互不影響,只在各自的軟件窗口中有效。 #IfWinActive,ahk_classXLMAIN;XLMAIN即Excel的類名 F1::;顯示/隱藏當前單元格的批注 Send,!rh return #IfWinActive 所以,通過#IfWinActive,你可以將多個軟件的熱鍵定義在一個腳本中,彼此互不影響。 如何查看軟件的類名 分析一下上面的代碼,#IfWinActive是成對出現(xiàn)的,類似于VBA等很多編程語言中的if...endif,可以明確劃分出作用域。 第一個#IfWinActive后面跟著參數(shù),代表開始;第一個#IfWinActive后面不帶參數(shù),代表結(jié)束。就這樣成對使用即可。 觀察上面的onenote和Excel中的例子,第一個#IfWinActive后面跟著參數(shù)Framework::CFrame、XLMAIN分別代表onenote類名、Excel類名,通過這個類名才得以找到指定軟件窗口。那么,這個類名從哪兒查看呢? 其實,安裝AHK后,程序已經(jīng)提供了一個非常方便的參考工具“WindowSpy”。運行腳本后,可以從托盤AHK圖標處右鍵打開“WindowSpy”窗口。 ![]() 打開窗口后,鼠標點擊對應的軟件窗口,就會獲得該窗口的各種屬性信息,例如onenote,第一個窗格內(nèi)顯示的就是onenote的類名、程序名等信息。當鼠標在onenote上移動時,鼠標坐標也會實時變化。 通過“WindowSpy”窗口,就可以輕松得到各軟件的相關(guān)屬性信息了,從而可以有針對性的對不同軟件設置不同動作。 ![]() 了解以上知識點后,基本可以參考幫助文檔自行編寫一些實用腳本了。 Office辦公軟件是辦公的第一選擇,這個地球人都知道。Microsoft Office 2010的新界面簡潔明快,標識也改為了全橙色。 |
溫馨提示:喜歡本站的話,請收藏一下本站!