Como Deixar o UserForm Maximizado no Excel VBA - Método 2
Salve, salve eu sou o Diego e hoje eu te ensinarei o segundo método de como deixar o UserForm maximizado no Excel VBA. Neste método nós utilizaremos a API (Applications Programming Interface) do Windows para facilitar a captura da resolução de vídeo do computador e com isso podemos com algumas alterações ajustar o UserForm para ficar maximizado.
Caso você queira ver ou rever o primeiro método utilizado basta clica no link abaixo:
Como Deixar o UserForm Maximizado no Excel VBA - Método 1.
Para esse nosso teste eu estarei utilizando o Excel 2013 versão 64bits.
Com o Excel aberto basta seguir o passo a passo mostrado abaixo:
1. Clique na aba Desenvolvedor (caso a aba Desenvolvedor esteja desabilitado clique aqui e veja o tutorial como habilita-la) em seguida clique no botão Visual Basic ou utilize as teclas de atalho do teclado ALT + F11.
2. Com o VBE (Visual Basic Editor) aberto iremos inserir um Módulo, basta escolher um dos métodos abaixo que funcionará:
Na barra de ferramentas clique sobre a seta ao lado do ícone Inserir UserForm e nas opções que aparecerem clique em Módulo.
Dentro da janela Projeto – VBAProject clique com o botão direito do mouse e nas opções que aparecerem clique em Inserir > Módulo.
3. Adicione ao Módulo1 o seguinte código:
'Função que retorna a largura e a altura em pixel da resolução de vídeo do computador
Private Declare PtrSafe Function DisplaySize Lib "User32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
'Sub que irá obter o nome do UserForm (ObjForm)
Sub Maximizar(ObjForm As Object)
'A Largura do UserForm (ObjForm) recebe a largura de "DisplaySize(0)" em Pixel e multiplica por 0.75 pontos
ObjForm.Width = DisplaySize(0) * 0.75
'A Altura do UserForm (ObjForm) recebe a altura de "DisplaySize(1)" em Pixel, multiplica por 0.75 pontos e diminui por menos 36 pontos
ObjForm.Height = (DisplaySize(1) * 0.75) - 36
End Sub
Obs.: Caso você esteja usando o Excel versão 32bits remova o atributo PtrSafe da função Private Declare PtrSafe Function DisplaySize Lib "User32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
4. Agora iremos inserir um UserForm para isso basta você escolher uma das opções abaixo:
Na barra de ferramentas clique sobre o ícone Inserir UserForm (caso você não esteja vendo o ícone de inserir um UserForm basta clicar na seta ao lado do ícone) como mostra a imagem abaixo.
Dentro da janela Projeto – VBAProject clique com o botão direito do mouse e nas opções que aparecerem clique em Inserir > UserForm.
5. Com o nosso UserForm criado de dois cliques sobre ele ou clique com o botão direito do mouse em cima dele e nas opções que aparecerem clique em Exibir Código.
6. Na janela que apareceu certifique-se que o Objeto UserForm esteja selecionado, em seguida clique sobre o Procedimento Click e nas opções que apareceram selecione Initialize.
7. Após selecionarmos o Procedimento Initialize uma nova sub surgirá, por enquanto apague somente a sub Private Sub UserForm_Click() ... EndSub pois não a utilizaremos.
8. Dentro da sub Private Sub UserForm_Initialize() ... End Sub insira o seguinte código:
Private Sub UseForm_Initialize()
'Chama a sub Maximizar que contém os atributos para maximizar o UserForm1
Call Maximizar(Me)
End Sub
9. Na janela Projeto – VBAProject de dois cliques sobre EstaPasta_de_trabalho.
10. Na nova janela aberta certifique-se que o Objeto Workbook e o Procedimento Open estejam selecionados.
11. Dentro da sub Private Sub Workbook_Open () ... End Sub insira o seguinte código:
Private Sub Workbook_Open()
'Força a Maximização do Excel
Application.WindowState = xlMaximized
'Exibe o UserForm1
UserForm1.Show
End Sub
Obs: Caso você queira deixar o Excel em fullscreen (tela cheia) ao invés de maximizado basta trocar o comando Application.WindowState=xlMaximmized por Application.DisplayFullScreen = True.
12. Agora basta salvar o seu projeto como tipo Pasta de Trabalho Habilitada para Macro do Excel.
13. Após salvar o seu projeto feche-o e abra-o novamente (caso as macros do Excel estejam desabilitadas basta clicar no botão Habilitar Conteúdo).
14. Pronto! O UserForm já inicializará Maximizado.
Comentários
Postar um comentário