2012-01-24 42 views
7

我知道我可以使用Ctrl + G將光標移動到直接窗口。是否有不同的快捷鍵將光標移回代碼?從VBA立即窗口移動到代碼窗口的快捷鍵

+0

GSerg和Alex K的答案都是正確的。我將Alex的答案與Autohotkey腳本結合起來,將'Ctrl + G'命令轉換爲一個「切換」,可在代碼和即時窗口之間來回切換。我在下面發佈了Autohotkey代碼作爲單獨的答案。 – mwolfe02

回答

5

Alt鍵 + W¯¯

+0

這也適用於Visual Studio。 –

9

在辦公室假設VBA; F7

+0

這在大多數情況下都可以使用,但是如果您正在查看一個用戶窗體並按下Ctrl + G,則按F7會將您移到窗體後面的代碼模塊,而不是返回窗體。 – JimmyPena

+2

......這是OP要求的。 –

+0

@ Jean-FrançoisCorbett:的確如此。 – mwolfe02

3

對於任何有使用AutoHotkey的,我結合亞歷克斯K公司的解決方案爲AutoHotkey的腳本我,每當我登錄上運行:

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

;*** ;VBA IDE 
#IfWinActive ahk_class wndclass_desked_gsk ;only execute if VBA IDE is active win 
^g:: ; Ctl + g: Toggle immediate window 
    WinGet, WindowUniqueID, ID, A 
    ControlGetFocus, ControlID, ahk_id %WindowUniqueID% 
    ControlGet, ControlHwnd, Hwnd,, %ControlID%, ahk_id %WindowUniqueID% 
    ControlTextSize = 16 
    VarSetCapacity(ControlText, ControlTextSize) 
    SendMessage, 0xD, ControlTextSize, &ControlText,, ahk_id %ControlHWND% ; 0xD is WM_GETTEXT. 
    If (ControlText="Immediate") 
     Send {F7} 
    Else 
     Send ^g 
    Return 
#IfWinActive 

首先,該腳本創建一個上下文敏感的CTL + 熱鍵,需要VBA IDE成爲活動窗口(#IfWinActive ahk_class wndclass_desked_gsk)。

當您按下CTL + ,該腳本會檢查當前控件的標題是「立竿見影」。如果是,則它發送一個F7,它將焦點發送回代碼。否則它重新發布Ctl + G