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. |