Lar Mídia social Como usar eventos OnTime e eventos Keypress no Excel 2016 VBA - dummies

Como usar eventos OnTime e eventos Keypress no Excel 2016 VBA - dummies

Índice:

Vídeo: Curso Excel VBA y Macros - Cap. 40 - Eventos de Aplicación y módulos de clase 2025

Vídeo: Curso Excel VBA y Macros - Cap. 40 - Eventos de Aplicación y módulos de clase 2025
Anonim

Existem dois tipos de eventos que você pode usar na programação VBA para o Excel 2016 que não estão associados a objetos: tempo e teclas pressionadas. Como o tempo e as teclas não estão associadas a um objeto específico, como uma pasta de trabalho ou uma planilha, você programa esses eventos em um módulo VBA normal.

O evento OnTime

O evento OnTime ocorre quando ocorre uma determinada hora do dia. O exemplo a seguir demonstra como obter o Excel para executar um procedimento quando o 3 p. m. ocorre o evento. Neste caso, uma voz de robô diz para você acordar, acompanhado de uma caixa de mensagem:

Aplicação Sub SetAlarm (). OnTime 0. 625, "DisplayAlarm" End Sub Sub DisplayAlarm () Aplicação. Discurso. Fale ("Ei, acorde") MsgBox "É hora de sua pausa na tarde! "End Sub

Neste exemplo, o método OnTime do objeto Aplicação é usado. Este método leva dois argumentos: o tempo (0.625 ou 3: 00 p. M.) E o nome do procedimento Sub para executar quando ocorre o evento de tempo (DisplayAlarm).

Este procedimento é bastante útil se você tende a ficar tão envolvido no seu trabalho que você esquece reuniões e compromissos. Basta configurar um evento OnTime para lembrar-se.

A maioria das pessoas tem dificuldade de pensar em tempo em termos do sistema de numeração do Excel. Portanto, você pode usar a função VBA TimeValue para representar o tempo. TimeValue converte uma string que parece uma hora em um valor que o Excel pode manipular. A seguinte declaração mostra uma maneira mais fácil de programar um evento para 3 p. m.:

Aplicação. OnTime TimeValue ("3: 00: 00 pm"), "DisplayAlarm"

Se você deseja agendar um evento relativo à hora atual (por exemplo, 20 minutos a partir de agora), você pode usar uma declaração como esta: < Aplicação. OnTime Now + TimeValue ("00: 20: 00"), "DisplayAlarm"

Você também pode usar o método OnTime para executar um procedimento VBA em um dia específico. Você deve garantir que seu computador continue funcionando e que a pasta de trabalho com o procedimento seja mantida aberta. A seguinte declaração executa o procedimento DisplayAlarm em 5 p. m. em 31 de dezembro de 2016:

Aplicação. OnTime DateValue ("31/12/2016 5: 00 pm"), "DisplayAlarm"

Esta linha de código particular pode ser útil para avisar que você precisa ir para casa e se preparar para as festas de Ano Novo.

Aqui está outro exemplo que usa o evento OnTime. Executar os procedimentos do UpdateClock escreve o tempo para a célula A1 e também programa outro evento cinco segundos depois.Esse evento retorna o procedimento UpdateClock. O efeito líquido é que a célula A1 é atualizada com a hora atual a cada cinco segundos. Para parar os eventos, execute o procedimento StopClock (que cancela o evento). Note que NextTick é uma variável de nível de módulo que armazena o tempo para o próximo evento.

Dim NextTick As Data Sub UpdateClock () 'Atualiza a célula A1 com a hora atual ThisWorkbook. Folhas (1). Range ("A1") = Time 'Configure o próximo evento cinco segundos a partir de agora NextTick = Now + TimeValue ("00: 00: 05") Aplicação. OnTime NextTick, "UpdateClock" End Sub Sub StopClock () 'Cancela o evento OnTime (pára o relógio) No resumo do erro na próxima aplicação. OnTime NextTick, "UpdateClock", False End Sub

O evento OnTime persiste mesmo depois que o livro está fechado. Em outras palavras, se você fechar a pasta de trabalho sem executar o procedimento StopClock, a pasta de trabalho será reaberta em cinco segundos (assumindo que o Excel ainda está sendo executado). Para evitar isso, use um procedimento de evento Workbook_BeforeClose que contenha a seguinte declaração:

Call StopClock

O método OnTime tem dois argumentos adicionais. Se você planeja usar esse método, você deve consultar o sistema de Ajuda para detalhes completos.

Se você quiser ver um aplicativo bastante complicado, confira este aplicativo de relógio analógico. O relógio é realmente um gráfico e o gráfico é atualizado a cada segundo para exibir a hora do dia. Inútil, mas divertido.

Um aplicativo de relógio analógico.

Eventos de pressionamento de tecla

Enquanto você trabalha, o Excel monitora constantemente o que você digita. Por isso, você pode configurar as coisas de forma que um toque de tecla ou uma combinação de teclas executem um procedimento.

Aqui está um exemplo que reasigna as chaves PgDn e PgUp:

Sub Setup_OnKey () Application. OnKey "{PgDn}", "PgDn_Sub" Aplicação. OnKey "{PgUp}", "PgUp_Sub" End Sub Sub PgDn_Sub () On Error Resume Next ActiveCell. Offset (1, 0). Ativar End Sub Sub PgUp_Sub () On Error Resume Next ActiveCell. Offset (-1, 0). Ativar End Sub

Depois de configurar os eventos OnKey executando o procedimento Setup_OnKey, pressionar PgDn move-se para baixo uma linha. Pressionar o PgUp move-se até uma linha.

Observe que os códigos-chave estão incluídos nas chaves, não entre parênteses. Para obter uma lista completa de códigos de teclado, consulte o sistema de Ajuda. Procure por

OnKey. Neste exemplo, On Error Resume Next é usado para ignorar quaisquer erros que são gerados. Por exemplo, se a célula ativa estiver na primeira linha, tentar subir de uma linha causa um erro que pode ser ignorado com segurança. E se uma folha de gráfico estiver ativa, não há célula ativa.

Ao executar a seguinte rotina, você cancela os eventos OnKey:

Sub Cancel_OnKey () Application. Aplicação OnKey "{PgDn}". OnKey "{PgUp}" End Sub

Usando uma seqüência vazia como o segundo argumento para o método OnKey

not cancelar o evento OnKey. Em vez disso, ele faz com que o Excel simplesmente ignore o pressionamento de tecla. Por exemplo, a seguinte declaração diz ao Excel que ignore Alt + F4. O sinal de porcentagem representa a tecla Alt: Aplicação.OnKey "% {F4}", ""

Embora você possa usar o método OnKey para atribuir uma tecla de atalho para a execução de uma macro, você deve usar a caixa de diálogo Opções de macro para esta tarefa.

Se você fechar a pasta de trabalho que contém o código e deixar o Excel aberto, o método OnKey não será redefinido. Como conseqüência, ao pressionar a tecla de atalho, o Excel abrirá automaticamente o arquivo com a macro. Para evitar que isso aconteça, você deve incluir o código no seu código do evento Workbook_BeforeClose para redefinir o evento OnKey.

Como usar eventos OnTime e eventos Keypress no Excel 2016 VBA - dummies

Escolha dos editores

Aplicativos da Web de escritório frente e verso - manequins

Aplicativos da Web de escritório frente e verso - manequins

Por padrão, quando você abre um Word, Excel, PowerPoint ou Documento OneNote de uma biblioteca de documentos do SharePoint, o arquivo é aberto diretamente no navegador usando o Office Web Apps. Embora você esteja visando o documento através de um navegador, você experimentará o mesmo aspecto e sensação que se abriu em um ...

Reduzir infra-estrutura e complexidade com o Office 365 - manequins

Reduzir infra-estrutura e complexidade com o Office 365 - manequins

Quando você muda para o Office 365, você está removendo a necessidade para infra-estrutura no local. A infra-estrutura necessária para executar o software cresce de forma exponencial à medida que a organização adota aplicativos corporativos. Mesmo um conjunto relativamente modesto de servidores precisa de uma fonte de alimentação redundante, múltiplas conexões à Internet, um plano de backup e um local seguro e à prova de fogo em que ...

Executando o Office Web Apps através de um navegador da Web - dummies

Executando o Office Web Apps através de um navegador da Web - dummies

A principal diferença entre o Office Web Apps e o software Microsoft Office é que você executa um aplicativo Office Web através de uma janela do navegador da Web. Veja como funciona: usando seu navegador, você vai para um site, inicia o aplicativo da Web, abre um arquivo e trabalha. Os arquivos em que você trabalha são ...

Escolha dos editores

Como controlar a exibição de saída de comando no sistema operacional Junos - manequins

Como controlar a exibição de saída de comando no sistema operacional Junos - manequins

Junos Interface de linha de comando Juniper ( CLI) oferece uma grande flexibilidade na exibição de saída. Por exemplo, você pode solicitar saída em diferentes formatos, especificar como mostrar mais e canalizar (|) a saída para exibir exatamente o que deseja. Escolha o seu formato de exibição Os comandos do modo operacional Junos geralmente incluem essa exibição ...

Como excluir o tráfego do NAT em Junos SRX - dummies

Como excluir o tráfego do NAT em Junos SRX - dummies

Depois de ter configurado o SRX NAT serviços usando a interface de saída ou o método do pool, você pode criar uma regra para excluir determinado tráfego do processo NAT. Esta configuração pode ser feita para permitir que certos servidores (como uma web pública ou site FTP) tenham endereços IP públicos em LAN de outra forma ...

Como voltar a uma Configuração Junos anterior - manequins

Como voltar a uma Configuração Junos anterior - manequins

Quando você ativa uma nova configuração, a O sistema operacional Junos permite que você volte para uma configuração anterior. Quando você ativou uma nova configuração, o Junos mantém automaticamente um arquivo da configuração ativa anterior. Este mecanismo de backup automático permite retornar rapidamente a uma configuração anterior. Você tem várias opções diferentes quando usa ...

Escolha dos editores

Administração de rede: tarefas de rotina - manequins

Administração de rede: tarefas de rotina - manequins

Grande parte do trabalho do administrador de rede é tarefa de rotina - tarefas, o equivalente a aspirar , limpeza e limpeza. Ou se preferir, alterando o óleo e girando os pneus a cada 3 000 milhas. Sim, é chato, mas tem que ser feito. Aqui está um resumo das tarefas de rotina da administração da rede. Backup: A rede ...

Administração de rede: RunAs Command - dummies

Administração de rede: RunAs Command - dummies

O comando RunAs é muito útil na administração de uma rede Windows Server 2008. O comando RunAs permite que você execute um programa a partir de um prompt de comando usando as credenciais de outra conta de usuário. Aqui está o programa de sintaxe básica: runas / user: username [outros parâmetros] Por exemplo, para executar o Microsoft Management Console com a conta de administrador do domínio dom1, ...

Administração de rede: Samba Client - dummies

Administração de rede: Samba Client - dummies

Samba inclui um programa chamado smbclient que permite acessar servidores de arquivos do Windows a partir de um Linux computador. O programa smbclient funciona como um cliente de FTP, então, se você já usou o FTP antes, não terá problemas para entender como isso funciona. Smbclient é uma ferramenta de linha de comando, então você precisa fazer logon em um virtual ...