2012-01-24 8 views
7

sé que puedo usar Ctrl +G para mover el cursor a la ventana inmediata. ¿Hay una tecla de método abreviado diferente para mover el cursor de regreso al código?clave de acceso directo para pasar de VBA ventana Inmediato a la ventana Código

+0

Las respuestas de GSerg y Alex K son correctas. Combiné la respuesta de Alex con una secuencia de comandos Autohotkey para convertir el comando 'Ctrl + G' en un" alternar "que alterna entre el código y la ventana inmediata. Publiqué el código de Autohotkey como una respuesta separada a continuación. – mwolfe02

Respuesta

5

Alt + W,

+0

Esto también funciona para Visual Studio. –

9

Suponiendo VBA en Office; F7.

+0

Esto funciona en la mayoría de las circunstancias, pero si está mirando una forma de usuario y presiona Ctrl + G, presionar F7 lo moverá al módulo de código detrás del formulario, no al formulario. – JimmyPena

+2

... que es lo que solicitó el OP. –

+0

@ Jean-FrançoisCorbett: de hecho. – mwolfe02

3

Para alguien por ahí usando AutoHotKey, que incorporan la solución de Alex K en el guión Autohotkey corro cada vez que me conecto:

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 

En primer lugar, el script crea un contexto sensible Ctl + G tecla de acceso rápido que requiere que el IDE de VBA sea la ventana activa (#IfWinActive ahk_class wndclass_desked_gsk).

Cuando se pulsa Ctl +G, la secuencia de comandos comprueba si el título del control actual es "inmediata". Si es así, envía un F7 que devuelve el foco al código. De lo contrario, vuelve a emitir el Ctl + G.

Cuestiones relacionadas