33
Construção de Interfaces Gráficas de Usuário com VBA Prof Jorge Luís [email protected]

Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA

Embed Size (px)

Citation preview

Page 1: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA

Construção de Interfaces Gráficas de Usuário com VBA

Prof Jorge Luí[email protected]

Page 2: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA

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

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

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

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

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

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

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

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

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

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

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

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

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

2.1 Caixas de Mensagem

Page 16: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA

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

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
Page 19: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA
Page 20: Aula 3 - Construção de Interfaces Gráficas de Usuário com VBA

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

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

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

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

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

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

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

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

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

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

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

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

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

FIM