aula 3 - construção de interfaces gráficas de usuário com vba
TRANSCRIPT
![Page 2: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/2.jpg)
Agenda
� Motivação� Conceito de interface gráfica no VBA� Métodos de Interação com o usuário
� Caixas de mensagens � Caixas de Entrada� Caixas de Entrada� Useforms
![Page 3: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/3.jpg)
Motivação
No processo de utilização de aplicativos Office seria possível utilizar-se de mecanismos que pudessem melhorar a
produtividade de pessoas e automatizar tarefas diárias de forma mais fácil?
Seria possível que essa automação fosse realizada utilizando interfaces gráficas mais amigáveis?
![Page 4: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/4.jpg)
1. Conceito de interface gráfica no VBA
� Conceito de Interface Gráfica� Em informática uma Interface Gráfica do Usuário ( abreviadamente, o acrônimo GUI Graphical User Interface) que facilita a utilização de aplicativos usando recursos como mouse, teclado, botões, janelas, etc.Neste sentido, será possível o desenvolvimento de � Neste sentido, será possível o desenvolvimento de janelas, botões, e outros recursos para que o usuário tenha facilidade na utilização dos aplicativos OFFICE
![Page 5: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/5.jpg)
1. Conceito de interface gráfica no VBA
� Conceito de VBA� VBA se refere ao processo de automatização de comandos e atividades relacionadas ao MS Office usando Visual Basic Application
� Neste sentido, é uma linguagem de programação interna ligado ao todos o aplicativos do pacote Officeligado ao todos o aplicativos do pacote Office
� Tem origem no Visual Basic, ambiente de desenvolvimento no qual podemos criar programas em Windows.
� O VBA trabalha com rotinas de programação que devem ser implementadas dentro de aplicados do Office
![Page 6: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/6.jpg)
1. Conceito de interface gráfica no VBA
� Conceito de VBA� Com o VBA é possível construir uma variedade de ações, ou seqüência de comandos, como em uma macro.
� Vários aspectos podem ser ressaltados com inserção de comandos em botões, imagens e caixa de textos
� Torna possível elaborar projetos mais personalizados e profissionais
![Page 7: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/7.jpg)
1. Conceito de interface gráfica no VBA
� Exemplo de uma interface gráfica
![Page 8: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/8.jpg)
1. Conceito de interface gráfica no VBA
� Uma interface gráfica proporciona a um aplicativo do Office uma “aparência” e um “comportamento”: o aspecto e a maneira com que o usuário interage com um programa.
� Fornece a diferentes aplicativos um conjunto de componentes intuitivos, pré-construídos, segundo um Modelo de Componentes definido para o VBA. Modelo de Componentes definido para o VBA.
![Page 9: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/9.jpg)
2. Métodos de Interação com o usuário
� Caixas de mensagem
� São janelas onde aparecem mensagens como por exemplo uma aviso, pergunta, etc.
� Normalmente, é utilizada a função MsgBox que cria uma caixa de mensagem que exibe informações e espera o usuário clicar em um botão antes de continuar.usuário clicar em um botão antes de continuar.
� Podem incluir botões na forma de OK, Cancela, Sim, Não.
![Page 10: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/10.jpg)
2. Métodos de Interação com o usuário
� Caixas de mensagem� O MsgBox é um mecanismo de Output e permite ao usuário visualizar os dados produzidos pelo programa
� O que ele faz:� Exibe uma janela com uma mensagem.� Espera que o usuário acione um dos botões.� Espera que o usuário acione um dos botões.� Como é uma função produz um valor final. Devolve um número inteiro indicando o botão que foi clicado.
![Page 11: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/11.jpg)
2. Métodos de Interação com o usuário
� Sintaxe:� MsgBox(Msg[,buttons][,titulo][,helpfile,contexto])
� Msg – texto mostrado na mensagem
� Buttons – qual botão será mostrado
� Titulo – Titulo da janela
� Exemplos:� Exemplos:
� MsgBox “Clique OK para continuar”
� MsgBox(“Continue?”,vbYesNo)
![Page 12: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/12.jpg)
2.1 Caixas de Mensagem
� Por exemplo.
� Seja uma macro que mostra uma mensagem na tela a partir de um determinado evento
� Seja o código baixo:
Sub Teste01()
MsgBox " BOM DIA! "
End Sub
Saída:
![Page 13: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/13.jpg)
2.1 Caixas de Mensagem
� Por exemplo.
� Seja uma macro que mostra uma mensagem na tela a partir de um determinado evento com vários botões
� Seja o código baixo:Sub Teste05()
MsgBox "Erro de Sintaxe!!!", 2 + 48 + 512 MsgBox "Erro de Sintaxe!!!", 2 + 48 + 512
+ 4096, "Mensagem de Erro"
End Sub
Saída:
![Page 14: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/14.jpg)
2.1 Caixas de Mensagem
� MsgBox "Voce deve entrar com numeros de 1 a 100!", , "Warning“
� MsgBox "First line" & vbCrLf & "Second line"
![Page 15: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/15.jpg)
2.1 Caixas de Mensagem
![Page 16: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/16.jpg)
2.1 Caixas de Mensagem
� Sub ButtonTest()
Dim msgPrompt As String, msgTitle As String
Dim msgButtons As Integer, msgResult As Integer
msgPrompt = "Voce realmente deseja mostrar " & vbCrLf
& _
"o nome da planilha?""o nome da planilha?"
msgButtons = vbYesNo + vbQuestion + vbDefaultButton2
msgTitle = "Mostrando o nome da planilha"
msgResult = MsgBox(msgPrompt, msgButtons, msgTitle)
� End Sub
![Page 17: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/17.jpg)
2.1 Caixas de Mensagem
� Valores que são gerados pela janela
![Page 18: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/18.jpg)
![Page 19: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/19.jpg)
![Page 20: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/20.jpg)
2.1 Caixas de Mensagem
� Sub ButtonTest2()
Dim msgPrompt As String, msgTitle As String
Dim msgButtons As Integer, msgResult As Integer
msgPrompt = "Voce realmente deseja mostrar " & vbCrLf &
_
"o nome da planilha?""o nome da planilha?"
msgButtons = vbYesNo + vbQuestion + vbDefaultButton2
msgTitle = "Mostrando o nome da planilha"
msgResult = MsgBox(msgPrompt, msgButtons, msgTitle)
If msgResult = vbYes Then
MsgBox "O nome esta OKKKKK "
End If
� End Sub
![Page 21: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/21.jpg)
2. Métodos de Interação com o usuário
� Caixas de Entrada
� Uma caixa de entrada é uma janela onde o usuário pode realizar a inserção de dados para um aplicativo Office.
� Normalmente é realizada pela função InputBox que cria um elemento básico de interface que solicita a entrada do usuário antes de o programa avançar.do usuário antes de o programa avançar.
� É possível configurar o titulo da janela, um valor padrão, a posição da janela e arquivos de ajuda do usuário
![Page 22: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/22.jpg)
2.2 Caixa de entrada
� Caixas de Entrada
� O que faz?� Exibe uma janela com uma caixa para a inserção de dados.� Espera que o usuário introduza os dados e/ou clique um dos botões.Como é uma função produz um valor final. Este consiste nos � Como é uma função produz um valor final. Este consiste nos dados inseridos pelo usuário na forma de texto - String
![Page 23: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/23.jpg)
2.2 Caixa de entrada
� Caixas de Entrada
� Sintaxe:� InputBox(msg[,titulo][,default][.xpos][,ypos])
� Msg – mensagem
� Titulo – titulo da janela
Default – valor inicial mostrado na caixa� Default – valor inicial mostrado na caixa
� Xpos,ypos – mostra as coordenadas da janela
� Exemplo:
� InputBox(“Entre com seu nome “,”identificação do
usuário”)
![Page 24: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/24.jpg)
2.2 Caixas de Entrada
� Por exemplo. Considere uma macro que solicita a entrada de dados para o usuário.
� Observe o código abaixo:Sub Teste()
Avemos = InputBox(Prompt:=" Entre com um número ",
Title:="Entrada de Dados", Default:="3")
End Sub
Saída:
![Page 25: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/25.jpg)
2.2 Caixas de Entrada
� Por exemplo. Considere uma macro que solicita a entrada de dados para o usuário e insere um dado numa planilha excel na posição 2 da primeira linha.
� Observe o código abaixo:Sub Teste04()
Avemos = InputBox(Prompt:=" Entre com um número ",
Title:="Entrada de Dados")Title:="Entrada de Dados")
Range("A1").Select
ActiveCell.Offset(0, 1) = Avemos
Range("A1").Select
End Sub
![Page 26: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/26.jpg)
2.2 Caixas de Entrada
� Por exemplo. Considere uma macro que solicita a entrada de dados para o usuário e verifica se este dado é par ou impar.
� Observe o código abaixo:Sub Teste02()
Avemos = InputBox(Prompt:=" Entre com um número ",
Title:="Entrada de Dados", Default:="3")
If Avemos Mod 2 = 0 ThenIf Avemos Mod 2 = 0 Then
MsgBox " Numero Par "
Else
MsgBox "Numero Impar"
End If
End Sub
![Page 27: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/27.jpg)
2.2 Caixa de entrada
� Useform� Uma outra forma de interação com o usuário é a criação de formulários com botões, campos de preenchimento, etc.
� Neste sentido, o useform combina as capacidades de InputBox e MsgBox para criar uma maneira mais InputBox e MsgBox para criar uma maneira mais eficiente de interagir com o usuário.
� Por exemplo, em vez de fazer o usuário preencher as informações pessoais em uma planilha, é possível criar uma janela com entrada de dados no userform que solicita os dados necessários.
![Page 28: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/28.jpg)
2. Métodos de Interação com o usuário
� Useform� Utilização de um formulário
![Page 29: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/29.jpg)
2.3. Useform
� Caixa de ferramentas. � Estão listadas todos os componentes que podem ser utilizados para a criação de um formulário
![Page 30: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/30.jpg)
2.3. Useform
� Por exemplo. Considere uma interface para inserir uma dado numa planilha. Os dados podem ser inseridos através de um formulário
![Page 31: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/31.jpg)
Exercícios
1. O que voce entende por interface gráfica do usuário?2. Explique como o VBA pode ajudar usuários no desenvolvimento de aplicações para o Office?
3. Quais são as formas de interação com o usuário?
![Page 32: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/32.jpg)
Referencias Bibliográficas
� [1] JELEN, B. & SYRSTAD, T. – VBA e Macros para Microsoft Excel 2007– Editora Pearson Education do Brasil, São Paulo: 20009.
� [2] BROWN, Charles E.; PETRUSCA, Ron. Programando em ACCESS com VBA. 1.ed. Alta Books, 2006.
� [3] FERNANDES, M. Desenvolvendo Aplicações Poderosas com Excel e VBA. Ciência Moderna, 2005.
![Page 33: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA](https://reader035.vdocuments.mx/reader035/viewer/2022081719/5572113a497959fc0b8e9e20/html5/thumbnails/33.jpg)
FIM