2012-01-24 31 views
7

Ctrl + Gを使用して、直接ウィンドウにカーソルを移動することができます。カーソルをコードに戻す別のショートカットキーはありますか?VBAイミディエイトウィンドウからコードウィンドウに移動するショートカットキー

+0

GSergとAlex Kの答えはどちらも正しいです。私はアレックスの答えをAutohotkeyスクリプトと組み合わせて 'Ctrl + G'コマンドをコードとイミディエイトウィンドウの間を行き来する「トグル」に変えました。私はAutohotkeyコードを以下の別の答えとして掲示しました。 – mwolfe02

答えて

5

Altキー + WオフィスでVBAを想定すると、1

+0

これはVisual Studioでも同様に機能します。 –

9

F7。私はログオンするたびに、私は実行するAutoHotkeyをを使用してそこに誰のための

+0

これはほとんどの状況で機能しますが、ユーザーフォームを見てCtrl + Gを押すと、F7キーを押すと、フォームの背後にあるコードモジュールに移動します。 – JimmyPena

+2

...これは、OPが求めているものです。 –

+0

@ Jean-FrançoisCorbett:確かに。 – mwolfe02

3

、私はAutoHotkeyをスクリプトにアレックス・Kのソリューションを組み込む:

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 

まず、スクリプトはG文脈依存のCtl + を作成しますVBA IDEをアクティブなウィンドウにする必要があるホットキー(#IfWinActive ahk_class wndclass_desked_gsk)。

あなたはGのCtl +を押すと、スクリプトは現在のコントロールのタイトルが「即時」であるかどうかを確認します。そうである場合は、F7を送信し、フォーカスをコードに戻します。それ以外の場合は、Ctl + Gを再発行します。

関連する問題