VBA – Criando um Splash Screen

Quer criar um Splash Screen para seu aplicativo Excel? Antes de mais nada, Splash Screen é o temo usado para descrever a imagem ou tela inicial apresentada por um programa no momento da sua inicialização, resumindo, sua apresentação. No Excel por exemplo, na versão 2007, o Splash Screen é o seguinte:

VBA - Criando um Splash Screen

Bom, sabemos que podemos e desenvolvemos nossos aplicativos em VBA (pelo menos imagino isso dos leitores deste post) e é interessante em alguns colocar uma apresentação. Na maior parte dos casos, um Splash Screen é o mais indicado. Siga os passo abaixo para criar um Splash Screen no VBA.

Atenção: testei o passo a passo no Excel e no Word e funcionaram bem.

  • Abra o VBA (Alt+F11)
  • Insira um Novo UserForm (Inserir->UserForm)
  • Adicione um controle Label através da Caixa de Ferramentas (Exibir->Caixa de Ferramentas)
  • Configure a propriedade Caption do controle Label e do UserForm para o nome do Aplicativo (por exemplo, “Meu Aplicativo”)
  • Altere o tamanho da fonte do controle Label para ficar em evidência, assim como o tamanho do UserForm
  • Abra a janela de código do UserForm (F7 ou clique com o botão direito e dê um Exibir código)
  • Na parte superior da janela de código, selecione Userform na lista da esquerda e em seguida na lista da direita, selecione Initialize (nesta ordem)
  • Com isto, o evento UserForm_Initialize será criado conforme a figura abaixo:
  • VBA - Criando um Splash Screen
  • Agora, insira um novo módulo (Inserir->Módulo) e adicione nele o seguinte código:
  • Sub FechaForm()
    	Unload UserForm1
    End Sub
  • Volte ao códido o Userform e adicione o seguinte código no evento Initialize criado anteriormente para que fique da seguinte forma:
  • Private Sub UserForm_Initialize()
        Application.OnTime Now + TimeValue("00:00:05"), "FechaForm"
    End Sub
  • Até aqui, está tudo pronto para que, ao abrir o form, ele será fechado após 5 segundos através da macro FechaForm configurada pela função Application.Ontime
  • Experimente abrindo o Userform no VBA e clicando em F5
  • Agora, só falta colocar o Userform para abrir ao iniciar a planilha (neste caso, no Excel)
  • Para isso, no VBA, vá até a janela do Projeto (Exibir->Project Explorer)
  • Nele, selecione o item EstaPasta_de_trabalho e clique duas vezes sobre esta para abrir a janela de código
  • Na parte superior da janela de código, selecione WorkBood na lista da esquerda e em seguida na lista da direita, selecione Open (nesta ordem)
  • Com isto, o vento Workbook_Open será gerado
  • Altere-o para que fique da seguinte forma:
  • Private Sub Workbook_Open()
        UserForm1.Show
    End Sub

Com isso, toda vez que a Pasta de Trabalho (arquivo xls ou xlsm) for aberta com as macros ativadas, o form será aberto e fechado automiticamente 5 segundos depois.

Pronto! Temos nosso Splash Screen!

Abraços

Comentários

comentários