Upload
weslei-felix
View
174
Download
2
Embed Size (px)
Citation preview
Construção de Interfaces Gráficas de Usuário com VBA
Prof Jorge Luí[email protected]
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
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?
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
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
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
1. Conceito de interface gráfica no VBA
� Exemplo de uma interface gráfica
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.
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.
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.
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)
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:
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:
2.1 Caixas de Mensagem
� MsgBox "Voce deve entrar com numeros de 1 a 100!", , "Warning“
� MsgBox "First line" & vbCrLf & "Second line"
2.1 Caixas de Mensagem
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
2.1 Caixas de Mensagem
� Valores que são gerados pela janela
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
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
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
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”)
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:
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
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
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.
2. Métodos de Interação com o usuário
� Useform� Utilização de um formulário
2.3. Useform
� Caixa de ferramentas. � Estão listadas todos os componentes que podem ser utilizados para a criação de um formulário
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
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?
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.
FIM