Visual Basic, VB .NET, ASP, Active X, Access, SQL Server

VB: Algumas macros de teclado úteis

Você pode estar achando estranho o título desta dica. Afinal o VB não possui recurso de macros para se falar neste assunto num site de Visual Basic. Mas, neste mesmo site, você tem uma versão gratuita de um add-in que introduz este recurso para você. Com o add-in RabJump, você pode associar código fonte a uma combinação de teclas e vê-lo colado na janela de código após acionar as teclas. O RabJump possui algumas palavras reservadas que você pode usar para serem substituídas conforme o contexto em que for feita a colagem. Por exemplo, {ControlName} será sempre substituída pelo nome do controle em cujo procedimento de tratamento de evento você estiver colando um texto pelo RabJump. Se você tiver o código: {ControlName}.BackColor = RGB(0,255,0) , e colar no procedimento de evento GotFocus do controle Text1, isto resultará em Text1.BackColor = RGB(0,255,0). Vejamos então algumas macros interessantes. As combinações de teclas são arbitrárias, você pode escolher outras dentre as permitidas pelo RabJump.

 

Teclas

Código Fonte

Uso

CTRL-ALT-B

ON ERROR GOTO ERROLOCAL Incluir cláusula ON ERROR nos procedimentos

CTRL-ALT-A

ON ERROR RESUME NEXT Incluir cláusula ON ERROR RESUME NEXT nos procedimentos
CTRL-ALT-D If KeyCode = vbKeyReturn Then
    KeyCode = 0
    SendKeys "{TAB}", False
End If
Usar a tecla Enter para saltar para o próximo campo no evento KeyDown
CTRL-ALT-K KeyAscii = Asc(UCase(Chr(KeyAscii))) Converter as letras digitadas para maiúsculo no evento KeyPress
CTRL-ALT-G {ControlName}.BackColor = RGB(255, 255, 0)

{ControlName}.SelStart = 0

{ControlName}.SelLength = Len({ControlName}.Text)

Muda a cor de fundo do controle para amarelo no evento GotFocus e seleciona o texto
CTRL-ALT-F {ControlName}.BackColor = RGB(255, 255, 255) Restaura a cor de fundo do controle na perda do foco
CTRL-SHIFT-Z Exit {ProcedureType}

ErroLocal:

Dim errnum As Long, errdesc As String, errsource As String

errnum = Err.Number

errdesc = Err.Description

errsource = IIf(Left(Err.Source, 3) <> "em ", "em {ModuleName}_{ProcedureName}, linha: " & Erl, Err.Source)

Err.Clear

TrataErrosGlobal errnum, errdesc, errsource

'errsource armazena o local exato do erro

 

Para colar um tratamento de erros padrão em procedimentos de evento. No exemplo, assume-se que ErroLocal é o label de tratamento de erros para o procedimento e TrataErrosGlobal é a rotina central de tratamento de erros da aplicação. Erl assume que as linhas do código foram  numeradas pelo uso do RabJump.
CTRL-SHIFT-Y Exit {ProcedureType}

ErroLocal:

Dim errnum As Long, errdesc As String, errsource As String

errnum = Err.Number

errdesc = Err.Description

errsource = IIf(Left(Err.Source, 3) <> "em ", "em {ModuleName}_{ProcedureName}, linha: " & Erl, Err.Source)

Err.Clear

Err.Raise errnum, errsource, errdesc

 

Para inserir um tratamento de erros padrão em rotinas chamadas de tratamentos de eventos. Este tratamento propaga o erro para a rotina que chamou e adiciona o local exato em que o erro ocorreu na propriedade Source.