Anda di halaman 1dari 33

Construo de Interfaces Grficas de Usurio com VBA

Prof Jorge Lus Jorge_hattori@yahoo.com.br

Agenda
Motivao Conceito de interface grfica no VBA Mtodos de Interao com o usurio Caixas de mensagens Caixas de Entrada Useforms

Motivao

No processo de utilizao de aplicativos Office seria possvel utilizar-se de mecanismos que pudessem melhorar a produtividade de pessoas e automatizar tarefas dirias de forma mais fcil?

Seria possvel que essa automao fosse realizada utilizando interfaces grficas mais amigveis?

1. Conceito de interface grfica no VBA


Conceito de Interface Grfica Em informtica uma Interface Grfica do Usurio ( abreviadamente, o acrnimo GUI Graphical User Interface) que facilita a utilizao de aplicativos usando recursos como mouse, teclado, botes, janelas, etc. Neste sentido, ser possvel o desenvolvimento de janelas, botes, e outros recursos para que o usurio tenha facilidade na utilizao dos aplicativos OFFICE

1. Conceito de interface grfica no VBA


Conceito de VBA VBA se refere ao processo de automatizao de comandos e atividades relacionadas ao MS Office usando Visual Basic Application Neste sentido, uma linguagem de programao interna ligado 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 programao que devem ser implementadas dentro de aplicados do Office

1. Conceito de interface grfica no VBA


Conceito de VBA Com o VBA possvel construir uma variedade de aes, ou seqncia de comandos, como em uma macro. Vrios aspectos podem ser ressaltados com insero de comandos em botes, imagens e caixa de textos Torna possvel elaborar projetos mais personalizados e profissionais

1. Conceito de interface grfica no VBA


Exemplo de uma interface grfica

1. Conceito de interface grfica no VBA


Uma interface grfica proporciona a um aplicativo do Office uma aparncia e um comportamento: o aspecto e a maneira com que o usurio interage com um programa. Fornece a diferentes aplicativos um conjunto de componentes intuitivos, pr-construdos, segundo um Modelo de Componentes definido para o VBA.

2. Mtodos de Interao com o usurio


Caixas de mensagem So janelas onde aparecem mensagens como por exemplo uma aviso, pergunta, etc. Normalmente, utilizada a funo MsgBox que cria uma caixa de mensagem que exibe informaes e espera o usurio clicar em um boto antes de continuar. Podem incluir botes na forma de OK, Cancela, Sim, No.

2. Mtodos de Interao com o usurio


Caixas de mensagem
O MsgBox um mecanismo de Output e permite ao usurio visualizar os dados produzidos pelo programa O que ele faz: Exibe uma janela com uma mensagem. Espera que o usurio acione um dos botes. Como uma funo produz um valor final. Devolve um nmero inteiro indicando o boto que foi clicado.

2. Mtodos de Interao com o usurio


Sintaxe: MsgBox(Msg[,buttons][,titulo][,helpfile,contexto]) Msg texto mostrado na mensagem Buttons qual boto ser mostrado Titulo Titulo da janela 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 cdigo baixo:
Sub Teste01() MsgBox " BOM DIA! " End Sub

Sada:

2.1 Caixas de Mensagem


Por exemplo. Seja uma macro que mostra uma mensagem na tela a partir de um determinado evento com vrios botes Seja o cdigo baixo:
Sub Teste05() MsgBox "Erro de Sintaxe!!!", 2 + 48 + 512 + 4096, "Mensagem de Erro" End Sub

Sada:

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?" msgButtons = vbYesNo + vbQuestion + vbDefaultButton2 msgTitle = "Mostrando o nome da planilha" msgResult = MsgBox(msgPrompt, msgButtons, msgTitle) End Sub

2.1 Caixas de Mensagem


Valores que so 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?" 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. Mtodos de Interao com o usurio


Caixas de Entrada Uma caixa de entrada uma janela onde o usurio pode realizar a insero de dados para um aplicativo Office. Normalmente realizada pela funo InputBox que cria um elemento bsico de interface que solicita a entrada do usurio antes de o programa avanar. possvel configurar o titulo da janela, um valor padro, a posio da janela e arquivos de ajuda do usurio

2.2 Caixa de entrada


Caixas de Entrada O que faz?
Exibe uma janela com uma caixa para a insero de dados. Espera que o usurio introduza os dados e/ou clique um dos botes. Como uma funo produz um valor final. Este consiste nos dados inseridos pelo usurio 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 Xpos,ypos mostra as coordenadas da janela Exemplo: InputBox(Entre com seu nome ,identificao do usurio)

2.2 Caixas de Entrada


Por exemplo. Considere uma macro que solicita a entrada de dados para o usurio. Observe o cdigo abaixo:
Sub Teste() Avemos = InputBox(Prompt:=" Entre com um nmero ", Title:="Entrada de Dados", Default:="3") End Sub

Sada:

2.2 Caixas de Entrada


Por exemplo. Considere uma macro que solicita a entrada de dados para o usurio e insere um dado numa planilha excel na posio 2 da primeira linha. Observe o cdigo abaixo:
Sub Teste04() Avemos = InputBox(Prompt:=" Entre com um nmero ", 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 usurio e verifica se este dado par ou impar. Observe o cdigo abaixo:
Sub Teste02() Avemos = InputBox(Prompt:=" Entre com um nmero ", Title:="Entrada de Dados", Default:="3") If 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 interao com o usurio a criao de formulrios com botes, campos de preenchimento, etc. Neste sentido, o useform combina as capacidades de InputBox e MsgBox para criar uma maneira mais eficiente de interagir com o usurio. Por exemplo, em vez de fazer o usurio preencher as informaes pessoais em uma planilha, possvel criar uma janela com entrada de dados no userform que solicita os dados necessrios.

2. Mtodos de Interao com o usurio


Useform Utilizao de um formulrio

2.3. Useform
Caixa de ferramentas. Esto listadas todos os componentes que podem ser utilizados para a criao de um formulrio

2.3. Useform
Por exemplo. Considere uma interface para inserir uma dado numa planilha. Os dados podem ser inseridos atravs de um formulrio

Exerccios
1. 2.

3.

O que voce entende por interface grfica do usurio? Explique como o VBA pode ajudar usurios no desenvolvimento de aplicaes para o Office? Quais so as formas de interao com o usurio?

Referencias Bibliogrficas
[1] JELEN, B. & SYRSTAD, T. VBA e Macros para Microsoft Excel 2007 Editora Pearson Education do Brasil, So Paulo: 20009. [2] BROWN, Charles E.; PETRUSCA, Ron. Programando em ACCESS com VBA. 1.ed. Alta Books, 2006. [3] FERNANDES, M. Desenvolvendo Aplicaes Poderosas com Excel e VBA. Cincia Moderna, 2005.

FIM