Excel Macros & VBA

Page 1

EDIÇÃO

FCA – Editora de Informática, Lda.

Av. Praia da Vitória, 14 A – 1000-247 Lisboa

Tel: +351 213 511 448

fca@fca.pt

www.fca.pt

DISTRIBUIÇÃO

Lidel – Edições Técnicas, Lda.

Rua D. Estefânia, 183, R/C Dto. – 1049-057 Lisboa

Tel: +351 213 511 448

lidel@lidel.pt

www.lidel.pt

LIVRARIA

Av. Praia da Vitória, 14 A – 1000-247 Lisboa

Tel: +351 213 511 448

livraria@lidel.pt

Copyright © 2023, FCA – Editora de Informática

 Marca registada da FCA PACTOR Editores, Lda

ISBN edição impressa: 978-972-722-920-8

1.ª edição impressa: março de 2014

Impressão e acabamento: Cafilesa – Soluções Gráficas, Lda. – Venda do Pinheiro Depósito Legal n.º 511671/23

Capa: José M. Ferrão – Look-Ahead

Todos os nossos livros passam por um rigoroso controlo de quali dade, no entanto aconselhamos a consulta periódica do nosso site (www.fca.pt) para fazer o download de eventuais correções.

Não nos responsabilizamos por desatualizações das hiperligações presentes nesta obra, que foram verificadas à data de publicação da mesma.

Os nomes comerciais referenciados neste livro têm patente registada. Reservados todos os direitos. Esta publicação não pode ser reproduzida, nem transmitida, no todo ou em parte, por qualquer processo eletrónico, mecânico, fotocópia, digitalização, gravação, sistema de armazenamento e disponibilização de informação, sítio Web, blogue ou outros, sem prévia autorização escrita da Editora, exceto o permitido pelo CDADC, em termos de cópia privada pela AGECOP – Associação para a Gestão da Cópia Privada, através do pagamento das respetivas taxas.

© © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a Í Í N N D D I I C C E E G G E E R R A A L L PRÓLOGO ......................................................................................................... XV COMO UTILIZAR ESTE LIVRO .............................................................................. XVII 1. FUNDAMENTOS ................................................................................................. 1 1.1 O bit como unidade fundamental de informação ........................................................................ 1 1.2 Sistemas de numeração ................................................................................................................... 2 1.2.1 Sistema de numeração binário: noção de byte ................................................................. 2 1.2.2 Múltiplos do byte ................................................................................................................ 3 1.2.3 Conversão entre unidades de informação ....................................................................... 3 1.2.4 Representação numérica no sistema de base 2 ............................................................... 4 1.2.5 Representação alfanumérica no sistema de base 2 ......................................................... 6 1.2.6 Sistemas de codificação...................................................................................................... 7 1.2.7 Sistemas de numeração octal e hexadecimal .................................................................. 9 1.2.8 Conversão da base decimal para as bases 2, 8 e 16 ...................................................... 10 1.3 Operadores ..................................................................................................................................... 11 1.3.1 Operadores aritméticos..................................................................................................... 11 1.3.2 Operadores relacionais ..................................................................................................... 13 1.3.3 Operadores lógicos ............................................................................................................ 14 1.3.4 Operadores de texto .......................................................................................................... 14 1.4 Algoritmos ...................................................................................................................................... 15 1.4.1 Sequências .......................................................................................................................... 15 1.4.2 Decisões .............................................................................................................................. 18 1.4.3 Seleções ............................................................................................................................... 20 1.4.4 Repetições em número determinado .............................................................................. 23 1.4.5 Repetições em número indeterminado ........................................................................... 26 1.5 Elementos de programação e edição de código ......................................................................... 29 1.5.1 Noção de módulo e procedimento .................................................................................. 30 1.5.2 Criação de módulos .......................................................................................................... 30 1.5.3 Remoção de módulos ........................................................................................................ 30 1.5.4 Definição de procedimento .............................................................................................. 31 1.5.5 Criação de procedimentos ................................................................................................ 32 1.5.6 Definição de variável ........................................................................................................ 32 1.5.7 Atribuição de valores a variáveis .................................................................................... 33 1.5.8 Obtenção de valores contidos em variáveis ................................................................... 34 1.5.9 Definição de constante ...................................................................................................... 34 1.5.10 Leitura de dados provenientes do utilizador................................................................. 35 1.5.11 Apresentação de dados ao utilizador ............................................................................. 36 1.5.12 Regras e convenções de nomenclatura ........................................................................... 37 1.6 Os 10 mandamentos da programação ......................................................................................... 37 1.6.1 Fase I: compreender o problema ..................................................................................... 38
E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a d d e e IIn nffo orrm m á átti i c c a a IV 1.6.2 Fase II: desenhar o algoritmo ........................................................................................... 38 1.6.3 Fase III: definir variáveis .................................................................................................. 38 1.6.4 Fase IV: definir constantes ................................................................................................ 39 1.6.5 Fase V: inicializar variáveis .............................................................................................. 39 1.6.6 Fase VI: obter dados de entrada ...................................................................................... 39 1.6.7 Fase VII: verificar dados de entrada ............................................................................... 39 1.6.8 Fase VIII: obter resultado ................................................................................................. 39 1.6.9 Fase IX: apresentar resultado ........................................................................................... 39 1.6.10 Fase X: testar aplicação ..................................................................................................... 40 1.7 Exercícios resolvidos ..................................................................................................................... 40 1.7.1 Média aritmética ................................................................................................................ 41 1.7.2 Área ..................................................................................................................................... 41 1.7.3 Par ou ímpar....................................................................................................................... 42 1.7.4 Maior de dois ..................................................................................................................... 42 1.7.5 Alunos ................................................................................................................................. 43 1.7.6 Salários ................................................................................................................................ 44 1.7.7 Anos bissextos .................................................................................................................... 46 1.7.8 Dias úteis ............................................................................................................................ 47 1.7.9 Fatorial ................................................................................................................................ 47 1.7.10 Números primos ................................................................................................................ 48 1.8 Exercícios propostos ...................................................................................................................... 49 2. ARQUITETURA VBA ........................................................................................ 51 2.1 A crise do software .......................................................................................................................... 51 2.2 Noções de objeto e coleção ........................................................................................................... 52 2.3 Tipos de módulos .......................................................................................................................... 52 2.4 Projetos VBA................................................................................................................................... 53 2.5 Propriedades................................................................................................................................... 54 2.5.1 Tipos de propriedades ...................................................................................................... 54 2.5.2 Alteração de propriedades em design-time ..................................................................... 54 2.5.3 Alteração de propriedades em run-time ......................................................................... 60 2.6 Métodos ........................................................................................................................................... 61 2.6.1 Tipos de métodos .............................................................................................................. 61 2.6.2 Métodos do tipo A: tarefas sem argumentos ................................................................. 62 2.6.3 Métodos do tipo B: tarefas com argumentos ................................................................. 62 2.6.4 Métodos do tipo C: tarefas com devolução de valor .................................................... 63 2.6.5 Natureza dos argumentos ................................................................................................ 64 2.6.6 Argumentação ................................................................................................................... 65 2.7 Eventos ............................................................................................................................................ 67 2.8 Procedimentos ................................................................................................................................ 67 2.8.1 Tipos de procedimentos ................................................................................................... 68 2.8.2 Procedimentos gerais ........................................................................................................ 68 2.8.3 Procedimentos de evento ................................................................................................. 71 2.8.4 Procedimentos de função ................................................................................................. 75 2.8.5 Pontos de execução ........................................................................................................... 77 2.8.6 Saída forçada de procedimentos ..................................................................................... 78
Í Í N N D DIIC C E E G G E E R R A A L L © © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a V 2.9 Tipos de dados ............................................................................................................................... 79 2.9.1 Byte ....... 79 2.9.2 Integer . 80 2.9.3 Long ....... 80 2.9.4 Single ................................................................................................................................. 80 2.9.5 Double ................................................................................................................................. 81 2.9.6 Currency ............................................................................................................................. 81 2.9.7 String ................................................................................................................................. 81 2.9.8 Date ....... 82 2.9.9 Boolean . 83 2.9.10 Object ... 84 2.9.11 Variant ............................................................................................................................... 84 2.9.12 Estruturas de dados .......................................................................................................... 85 2.10 Declaração de variáveis ................................................................................................................. 86 2.10.1 Declaração explícita........................................................................................................... 87 2.10.2 Declaração implícita .......................................................................................................... 87 2.10.3 Declaração múltipla .......................................................................................................... 88 2.10.4 Significado de Option Explicit .................................................................................... 88 2.10.5 Ciclo de vida das variáveis............................................................................................... 88 2.11 Arrays ............................................................................................................................................... 91 2.11.1 Comprimento de um array ............................................................................................... 91 2.11.2 Significado de Option Base ............................................................................................ 92 2.11.3 Dimensão de um array ...................................................................................................... 93 2.12 Estruturas de controlo ................................................................................................................... 94 2.12.1 Tipos de estruturas de controlo ....................................................................................... 94 2.12.2 If ......................................................................................................................................... 94 2.12.3 Select Case ...................................................................................................................... 98 2.12.4 Do ........... 99 2.12.5 While… Wend .................................................................................................................... 101 2.12.6 For… Next ......................................................................................................................... 102 2.12.7 For Each… Next .............................................................................................................. 103 2.12.8 Ciclos infinitos ................................................................................................................. 104 2.13 Comentários.................................................................................................................................. 105 2.14 Exercícios resolvidos ................................................................................................................... 106 2.14.1 Remover folha de cálculo ............................................................................................... 106 2.14.2 Clonagem.......................................................................................................................... 107 2.14.3 Cores ................................................................................................................................. 109 2.14.4 Protect/Unprotect ............................................................................................................ 110 2.14.5 Concatenação ................................................................................................................... 111 2.14.6 Conversor ......................................................................................................................... 113 2.14.7 Pitágoras ........................................................................................................................... 114 2.14.8 Máximo divisor comum ................................................................................................. 117 2.14.9 Matriz ................................................................................................................................ 120 2.14.10 Comentário ....................................................................................................................... 122 2.15 Exercícios propostos .................................................................................................................... 124
E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a d d e e IIn nffo orrm m á átti i c c a a VI 3. FUNÇÕES VBA ............................................................................................. 127 3.1 Sintaxe geral ................................................................................................................................. 127 3.2 Funções de diálogo ...................................................................................................................... 127 3.2.1 Função MsgBox ................................................................................................................. 127 3.2.2 Função InputBox ............................................................................................................. 133 3.3 Funções de texto ........................................................................................................................... 135 3.3.1 Função Len ....................................................................................................................... 135 3.3.2 Funções LCase e UCase ................................................................................................... 135 3.3.3 Funções Left, Right e Mid ............................................................................................. 135 3.3.4 Funções Space .................................................................................................................. 136 3.3.5 Funções LTrim, RTrim e Trim ......................................................................................... 136 3.3.6 Funções Asc e Chr ............................................................................................................ 137 3.3.7 Função InStr ................................................................................................................... 137 3.4 Funções matemáticas ................................................................................................................... 138 3.4.1 Função Abs ....................................................................................................................... 138 3.4.2 Função Sgn ....................................................................................................................... 139 3.4.3 Função Round ................................................................................................................... 139 3.4.4 Funções Int e Fix ............................................................................................................ 139 3.4.5 Função Sqr ....................................................................................................................... 140 3.4.6 Função Log ....................................................................................................................... 140 3.4.7 Função Rnd ....................................................................................................................... 141 3.4.8 Funções Sin, Cos, Tan e Atan ......................................................................................... 141 3.5 Funções de data e hora ................................................................................................................ 141 3.5.1 Funções Date, Time e Now ............................................................................................... 141 3.5.2 Funções Day, Weekday, Month, Year, Hour, Minute e Second ..................................... 142 3.5.3 Função WeekDayName ....................................................................................................... 143 3.5.4 Função MonthName ........................................................................................................... 143 3.5.5 Função DateDiff ............................................................................................................. 144 3.5.6 Função DateAdd ............................................................................................................... 145 3.5.7 Função DateSerial ......................................................................................................... 146 3.6 Outras funções.............................................................................................................................. 146 3.6.1 Função CreateObject..................................................................................................... 146 3.6.2 Função LoadPicture ....................................................................................................... 147 3.6.3 Funções LBound e UBound ............................................................................................... 148 3.6.4 Funções de conversão entre tipos de dados ................................................................. 148 3.6.5 Funções de verificação de tipos de dados .................................................................... 149 3.6.6 Função Format ................................................................................................................. 149 3.6.7 Função RGB ....................................................................................................................... 150 3.6.8 Função QBColor ............................................................................................................... 150 3.7 Exercícios resolvidos ................................................................................................................... 151 3.7.1 Divisão inteira .................................................................................................................. 151 3.7.2 Dígitos ............................................................................................................................... 153 3.7.3 Site ....... 154 3.7.4 Contador de palavras ...................................................................................................... 156 3.7.5 Dias vividos ...................................................................................................................... 157 3.7.6 Idade ................................................................................................................................. 158
Í Í N N D DIIC C E E G G E E R R A A L L © © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a VII 3.7.7 Contactos .......................................................................................................................... 160 3.7.8 Numeração romana ......................................................................................................... 161 3.7.9 RGB ................................................................................................................................... 163 3.7.10 Controlo de erro............................................................................................................... 164 3.8 Exercícios propostos .................................................................................................................... 166 4. MACROS ..................................................................................................... 167 4.1 Definição de macro ...................................................................................................................... 167 4.2 Macros de comando ..................................................................................................................... 167 4.2.1 Criação de macros de comando ..................................................................................... 168 4.2.2 Acesso ao código gerado pelo gravador de macros .................................................... 172 4.2.3 Edição do código gerado pelo gravador de macros .................................................... 173 4.2.4 Associar uma macro a um evento ................................................................................. 174 4.2.5 Associar uma macro a um botão ................................................................................... 179 4.3 Macros de função ......................................................................................................................... 181 4.4 Principal papel das macros na programação ........................................................................... 185 4.5 Macrovírus: prevenção, combate e segurança ......................................................................... 194 4.5.1 Cuidados a ter .................................................................................................................. 194 4.5.2 Ficheiros macro ................................................................................................................ 195 4.5.3 Desativação automática de macros por parte do Excel .............................................. 196 4.5.4 Níveis de segurança e certificação ................................................................................. 196 4.5.5 Proteção de código .......................................................................................................... 197 4.6 Exercícios resolvidos ................................................................................................................... 199 4.6.1 Grelha ................................................................................................................................ 199 4.6.2 Filtros ................................................................................................................................ 200 4.6.3 Ordenar ............................................................................................................................. 203 4.6.4 Autofit ............................................................................................................................... 205 4.6.5 Eixos .................................................................................................................................. 206 4.6.6 Imprimir ........................................................................................................................... 210 4.6.7 Limpar............................................................................................................................... 211 4.6.8 Febre .................................................................................................................................. 215 4.6.9 Temperatura ..................................................................................................................... 216 4.6.10 Milhas................................................................................................................................ 217 4.7 Exercícios propostos .................................................................................................................... 218 5. OBJETOS DO EXCEL ....................................................................................... 221 5.1 Bibliotecas de objetos ................................................................................................................... 221 5.1.1 Object Browser (Pesquisador de objeto) ....................................................................... 221 5.1.2 Bibliotecas-padrão ........................................................................................................... 222 5.1.3 Considerações hierárquicas............................................................................................ 223 5.2 Objeto Application .................................................................................................................... 225 5.2.1 Propriedade ActiveCell ................................................................................................ 225 5.2.2 Propriedade Cells .......................................................................................................... 226 5.2.3 Propriedade Range .......................................................................................................... 227 5.2.4 Propriedade Selection .................................................................................................. 227 5.2.5 Propriedades Rows e Columns ........................................................................................ 228 5.2.6 Propriedade ActiveSheet .............................................................................................. 228
E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a d d e e IIn nffo orrm m á átti i c c a a VIII 5.2.7 Propriedades Worksheets e Sheets .............................................................................. 228 5.2.8 Propriedade ActiveWorkbook ....................................................................................... 229 5.2.9 Propriedade Workbooks .................................................................................................. 229 5.2.10 Propriedade ActiveChart .............................................................................................. 229 5.2.11 Propriedade Charts ........................................................................................................ 230 5.2.12 Propriedade ActivePrinter ......................................................................................... 230 5.2.13 Propriedades Caption e StatusBar .............................................................................. 230 5.2.14 Propriedade Cursor ........................................................................................................ 231 5.2.15 Propriedade WindowState .............................................................................................. 232 5.2.16 Propriedades Height, Width, Left e Top ..................................................................... 232 5.2.17 Propriedade Visible ...................................................................................................... 232 5.2.18 Propriedades Version, Build e OperatingSystem .................................................... 233 5.2.19 Propriedades MemoryTotal, MemoryUsed e MemoryFree ............................................ 233 5.2.20 Propriedade UseSystemSeparators ............................................................................. 233 5.2.21 Propriedade Path ............................................................................................................ 234 5.2.22 Propriedade WorksheetFunction ................................................................................. 235 5.2.23 Propriedade Speech ........................................................................................................ 235 5.2.24 Propriedade Dialogs ...................................................................................................... 235 5.2.25 Método Quit .................................................................................................................... 236 5.2.26 Método Help .................................................................................................................... 237 5.2.27 Método CheckSpelling.................................................................................................. 237 5.2.28 Método ActivateMicrosoftApp ................................................................................... 238 5.2.29 Método GetOpenFilename ............................................................................................. 239 5.2.30 Método GetSaveAsFilename ......................................................................................... 240 5.2.31 Método MacroOptions .................................................................................................... 241 5.2.32 Método Goto .................................................................................................................... 242 5.2.33 Método OnKey .................................................................................................................. 243 5.2.34 Método OnTime ................................................................................................................ 243 5.2.35 Método Wait .................................................................................................................... 244 5.2.36 Método Run ....................................................................................................................... 244 5.3 Objeto Workbook ........................................................................................................................... 245 5.3.1 Método Add (aplicável à coleção Workbooks)............................................................... 245 5.3.2 Método Close (aplicável à coleção Workbooks) .......................................................... 245 5.3.3 Método Open (aplicável à coleção Workbooks)............................................................. 245 5.3.4 Propriedade ActiveSheet .............................................................................................. 247 5.3.5 Propriedade ActiveChart .............................................................................................. 248 5.3.6 Propriedades Sheets e Worksheets .............................................................................. 248 5.3.7 Propriedade Charts ........................................................................................................ 248 5.3.8 Propriedades Name e FullName ...................................................................................... 249 5.3.9 Propriedade Saved .......................................................................................................... 249 5.3.10 Método Activate ............................................................................................................ 249 5.3.11 Método Save .................................................................................................................... 250 5.3.12 Método SaveAs ................................................................................................................ 250 5.3.13 Método Close .................................................................................................................. 251 5.3.14 Evento Open ...................................................................................................................... 251 5.3.15 Evento BeforeSave ......................................................................................................... 251
Í Í N N D DIIC C E E G G E E R R A A L L © © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a IX 5.3.16 Evento BeforeClose ....................................................................................................... 252 5.3.17 Evento BeforePrint ....................................................................................................... 252 5.3.18 Evento NewSheet ............................................................................................................. 253 5.3.19 Eventos SheetActivate e SheetDeactivate .............................................................. 253 5.3.20 Eventos SheetBeforeDoubleClick e SheetBeforeRightClick .............................. 254 5.3.21 Eventos SheetChange e SheetSelectionChange ....................................................... 255 5.3.22 Evento SheetCalculate ................................................................................................. 255 5.4 Objeto Worksheet ........................................................................................................................ 255 5.4.1 Método Add (aplicável à coleção Sheets) ..................................................................... 256 5.4.2 Propriedade Name ............................................................................................................ 256 5.4.3 Propriedade Cells .......................................................................................................... 257 5.4.4 Propriedades Rows e Columns ........................................................................................ 257 5.4.5 Propriedade Range .......................................................................................................... 257 5.4.6 Propriedade Tab .............................................................................................................. 259 5.4.7 Propriedades Next e Previous ...................................................................................... 260 5.4.8 Propriedade Parent ........................................................................................................ 260 5.4.9 Propriedade ScrollArea ................................................................................................ 260 5.4.10 Propriedade Visible ...................................................................................................... 261 5.4.11 Método Activate ............................................................................................................ 261 5.4.12 Métodos Protect e Unprotect ...................................................................................... 261 5.4.13 Eventos do objeto Worksheet......................................................................................... 262 5.5 Objeto Range ... 262 5.5.1 Propriedade Font ............................................................................................................ 263 5.5.2 Propriedade Interior .................................................................................................... 263 5.5.3 Propriedade Borders ...................................................................................................... 263 5.5.4 Propriedade NumberFormat............................................................................................ 264 5.5.5 Método Select ................................................................................................................ 264 5.5.6 Método Show .................................................................................................................... 265 5.5.7 Métodos Copy e Cut ......................................................................................................... 265 5.5.8 Método PasteSpecial .................................................................................................... 265 5.5.9 Métodos Clear, ClearContents e ClearFormats ...................................................... 266 5.5.10 Métodos Merge e Unmerge .............................................................................................. 267 5.5.11 Método Find .................................................................................................................... 267 5.5.12 Métodos FindNext e FindPrevious ............................................................................. 269 5.5.13 Método Sort .................................................................................................................... 270 5.5.14 Método Autofit .............................................................................................................. 270 5.5.15 Método Autofill ............................................................................................................ 271 5.6 Exercícios resolvidos ................................................................................................................... 271 5.6.1 Ficheiros recentes ............................................................................................................ 271 5.6.2 Word ................................................................................................................................. 272 5.6.3 Importar ............................................................................................................................ 276 5.6.4 Multifase ........................................................................................................................... 277 5.6.5 Wordart ............................................................................................................................. 281 5.6.6 Impressão1 ....................................................................................................................... 282 5.6.7 Impressão2 ....................................................................................................................... 283 5.6.8 Impressão3 ....................................................................................................................... 284
E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a d d e e IIn nffo orrm m á átti i c c a a X 5.6.9 Tarefa ................................................................................................................................ 284 5.6.10 Gráfico............................................................................................................................... 286 5.7 Exercícios resolvidos ................................................................................................................... 291 6. FORMULÁRIOS ............................................................................................. 293 6.1 O GDI do Windows ..................................................................................................................... 293 6.2 Formulários e controlos .............................................................................................................. 294 6.2.1 Criação de formulários ................................................................................................... 294 6.2.2 Toolbox (Caixa de ferramentas)..................................................................................... 295 6.2.3 Rótulos .............................................................................................................................. 296 6.2.4 Caixas de texto ................................................................................................................. 297 6.2.5 Caixas de combinação ..................................................................................................... 297 6.2.6 Caixas de listagem ........................................................................................................... 298 6.2.7 Caixas de seleção ............................................................................................................. 298 6.2.8 Botões de opção ............................................................................................................... 299 6.2.9 Botões de ativação ........................................................................................................... 299 6.2.10 Quadros ............................................................................................................................ 300 6.2.11 Botões de comando ......................................................................................................... 300 6.2.12 Páginas .............................................................................................................................. 301 6.2.13 Barras de rolagem ............................................................................................................ 302 6.2.14 Botões de rotação ............................................................................................................. 302 6.2.15 Imagens ............................................................................................................................. 303 6.2.16 Caixas de referência ........................................................................................................ 303 6.2.17 Convenções de nomenclatura ........................................................................................ 304 6.3 Objeto UserForm ........................................................................................................................... 305 6.3.1 Visualização e alteração de valores de propriedades ................................................. 305 6.3.2 Modos de visualização.................................................................................................... 305 6.3.3 Propriedade BackColor .................................................................................................. 306 6.3.4 Propriedade Caption ...................................................................................................... 306 6.3.5 Propriedades Height e Width ........................................................................................ 306 6.3.6 Propriedades Left e Top ................................................................................................ 307 6.3.7 Propriedade StartupPosition ..................................................................................... 307 6.3.8 Propriedades MousePointer e MouseIcon ................................................................... 308 6.3.9 Propriedade Picture ...................................................................................................... 308 6.3.10 Propriedade ActiveControl ......................................................................................... 309 6.3.11 Propriedade Enabled ...................................................................................................... 309 6.3.12 Propriedade Visible ...................................................................................................... 310 6.3.13 Método Show .................................................................................................................... 310 6.3.14 Método Move .................................................................................................................... 310 6.3.15 Método PrintForm .......................................................................................................... 311 6.3.16 Eventos Initialize e Terminate ................................................................................. 311 6.3.17 Eventos Activate e Deactivate ................................................................................... 311 6.3.18 Evento Resize .................................................................................................................. 312 6.3.19 Eventos Click e DblClick ............................................................................................. 312 6.3.20 Eventos MouseMove, MouseDown e MouseUp .................................................................. 313 6.3.21 Eventos KeyDown e KeyUp ............................................................................................... 314
Í Í N N D DIIC C E E G G E E R R A A L L © © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a XI 6.4 Objeto Label ................................................................................................................................. 315 6.4.1 Propriedades já estudadas.............................................................................................. 315 6.4.2 Propriedade TextAlign .................................................................................................. 316 6.4.3 Propriedade AutoSize .................................................................................................... 316 6.4.4 Propriedade BackStyle .................................................................................................. 317 6.4.5 Propriedade BorderStyle .............................................................................................. 317 6.4.6 Propriedade ControlTipText ....................................................................................... 317 6.4.7 Método Move .................................................................................................................... 318 6.4.8 Eventos já estudados ....................................................................................................... 318 6.5 Objeto CommandButton ................................................................................................................ 318 6.5.1 Propriedades já estudadas.............................................................................................. 318 6.5.2 Propriedades Default e Cancel .................................................................................... 319 6.5.3 Propriedade Accelerator .............................................................................................. 320 6.5.4 Método Move .................................................................................................................... 320 6.5.5 Eventos já estudados ....................................................................................................... 320 6.6 Objeto TextBox 321 6.6.1 Propriedades já estudadas.............................................................................................. 321 6.6.2 Propriedades MaxLength e TextLenght ....................................................................... 322 6.6.3 Propriedades SelStart e SelLenght ........................................................................... 322 6.6.4 Propriedade Locked ........................................................................................................ 323 6.6.5 Propriedade MultiLine .................................................................................................. 323 6.6.6 Propriedade PasswordChar............................................................................................ 323 6.6.7 Propriedades TabIndex e TabStop ................................................................................ 324 6.6.8 Propriedade ControlSource ......................................................................................... 324 6.6.9 Método Move .................................................................................................................... 325 6.6.10 Método SetFocus ............................................................................................................ 325 6.6.11 Eventos já estudados ....................................................................................................... 326 6.6.12 Evento Change .................................................................................................................. 326 6.6.13 Eventos Enter e Exit ...................................................................................................... 327 6.7 Objetos ComboBox e ListBox ...................................................................................................... 327 6.7.1 Propriedades já estudadas.............................................................................................. 327 6.7.2 Propriedade ColumnCount .............................................................................................. 328 6.7.3 Propriedade List ............................................................................................................ 328 6.7.4 Propriedade ListIndex .................................................................................................. 329 6.7.5 Propriedades ListCount e ColumnCount ..................................................................... 329 6.7.6 Propriedade ColumnHeads .............................................................................................. 330 6.7.7 Propriedade ColumnWidths............................................................................................ 330 6.7.8 Propriedade BoundColumn .............................................................................................. 330 6.7.9 Propriedade MatchEntry ................................................................................................ 330 6.7.10 Propriedade MatchRequired ......................................................................................... 331 6.7.11 Propriedade MultiSelect .............................................................................................. 331 6.7.12 Propriedade ListStyle .................................................................................................. 332 6.7.13 Propriedade Style .......................................................................................................... 333 6.7.14 Métodos já estudados ..................................................................................................... 333 6.7.15 Método AddItem .............................................................................................................. 333 6.7.16 Método RemoveItem ........................................................................................................ 334
E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a d d e e IIn nffo orrm m á átti i c c a a XII 6.7.17 Método Clear .................................................................................................................. 334 6.7.18 Eventos já estudados ....................................................................................................... 334 6.8 Objetos CheckBox e OptionButton ............................................................................................ 335 6.8.1 Propriedades já estudadas.............................................................................................. 335 6.8.2 Propriedade Value .......................................................................................................... 336 6.8.3 Propriedade Alignment .................................................................................................. 336 6.8.4 Propriedade TripleState .............................................................................................. 337 6.8.5 Métodos já estudados ..................................................................................................... 337 6.8.6 Eventos já estudados ....................................................................................................... 337 6.9 Exercícios resolvidos ................................................................................................................... 337 6.9.1 Teclado .............................................................................................................................. 337 6.9.2 Portal ................................................................................................................................. 339 6.9.3 Calculadora ...................................................................................................................... 345 6.9.4 Registo............................................................................................................................... 351 6.9.5 Estatística .......................................................................................................................... 358 6.9.6 Tipo de letra ..................................................................................................................... 362 6.9.7 Validação .......................................................................................................................... 367 6.9.8 Horizontal......................................................................................................................... 372 6.9.9 Vertical .............................................................................................................................. 374 6.9.10 Cores ................................................................................................................................. 375 6.10 Exercícios propostos .................................................................................................................... 377 7. BASES DE DADOS ......................................................................................... 379 7.1 Sistemas de Gestão de Bases de Dados ..................................................................................... 379 7.2 Integração com o Access ............................................................................................................. 380 7.2.1 Objetivo............................................................................................................................. 380 7.2.2 Criação da tabela de dados ............................................................................................ 380 7.2.3 Acesso à origem de dados a partir do Excel ................................................................ 383 7.2.4 Manipulação de dados .................................................................................................... 388 7.2.5 Consulta de dados ........................................................................................................... 393 7.3 Acesso ao SQL Server .................................................................................................................. 406 7.3.1 Criação da tabela de dados ............................................................................................ 406 7.3.2 Criação da origem de dados SQL .................................................................................. 409 7.3.3 Acesso ao SQL Server a partir do Excel ........................................................................ 412 7.4 Acesso ao MySQL ........................................................................................................................ 413 7.4.1 Ligação ao servidor ......................................................................................................... 413 7.4.2 Criação da tabela de dados ............................................................................................ 413 7.4.3 Criação da origem de dados SQL .................................................................................. 415 7.4.4 Acesso ao MySQL a partir do Excel .............................................................................. 417 7.5 Exercícios propostos .................................................................................................................... 418 8. INTERAÇÃO COM O VISUAL STUDIO ................................................................... 419 8.1 Aplicações-consola....................................................................................................................... 419 8.1.1 Espaços de nomes ............................................................................................................ 421 8.1.2 Módulos ............................................................................................................................ 421 8.1.3 Procedimentos ................................................................................................................. 422 8.1.4 Procedimento Main .......................................................................................................... 422
Í Í N N D DIIC C E E G G E E R R A A L L © © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a XIII 8.1.5 Apresentação de dados ao utilizador ........................................................................... 422 8.1.6 Leitura de dados do utilizador ...................................................................................... 423 8.1.7 Execução da aplicação..................................................................................................... 424 8.2 Exportação de dados ................................................................................................................... 424 8.3 Importação de dados ................................................................................................................... 425 8.4 Exercícios propostos .................................................................................................................... 426 9. PROJETO .................................................................................................... 429 9.1 Recolha de dados ......................................................................................................................... 429 9.2 Inserção de dados de teste .......................................................................................................... 430 9.3 Criação do formulário ................................................................................................................. 430 9.4 Recolha de dados (desenho) ....................................................................................................... 430 9.5 Recolha de dados (programação) .............................................................................................. 433 9.6 Criação da tabela e do gráfico dinâmicos ................................................................................. 438 9.7 Gráfico da taxa de desemprego (desenho) ............................................................................... 441 9.8 Gráfico da taxa de desemprego (programação) ....................................................................... 442 9.9 Criação da pirâmide etária ......................................................................................................... 443 9.10 Apresentação da pirâmide etária no formulário...................................................................... 446 9.11 Atualização da pirâmide etária (código)................................................................................... 446 9.12 Ajustes finais ................................................................................................................................ 449 9.13 Conclusão ...................................................................................................................................... 450 A. ANEXO – TABELAS AUXILIARES ....................................................................... 451 A.1 Códigos ASCII .............................................................................................................................. 451 A.1.1 Códigos ASCII (grupo básico) ....................................................................................... 451 A.1.2 Códigos ASCII (grupo estendido) ................................................................................. 452 A.2 Máscaras de formatação .............................................................................................................. 453 A.3 Relação de tipos de dados................................................................................................. .......... 454 GLOSSÁRIO DE TERMOS – PORTUGUÊS EUROPEU/PORTUGUÊS DO BRASIL ...................... 455 ÍNDICE REMISSIVO ........................................................................................... 457

Com o objetivo de facilitar uma aprendizagem rápida e eficaz, tomamos a liberdade de sugerir um conjunto de indicações às quais o leitor deverá dar especial atenção, de forma a tirar o maior proveito deste livro.

Os diferentes temas foram encadeados pedagógica e naturalmente, pelo que não é recomendado que progrida sem a compreensão das matérias abordadas em capítulos anteriores. A tabela que se segue apresenta um resumo dos conteúdos tratados nesta obra:

CAPÍTULO TÍTULO PRINCIPAIS TEMAS/ASSUNTOS

Sistemas de numeração. Algoritmos.

1 Fundamentos

2 Arquitetura VBA

3 Funções VBA

4 Macros

5 Objetos do Excel

6 Formulários

7 Bases de Dados

Noções de módulo e procedimento. Utilização de variáveis, constantes e operadores. Regras e convenções de nomenclatura.

Noções de objeto e coleção. Propriedades, métodos e eventos. Tipos de dados. Utilização de arrays. Estruturas de controlo (condições e ciclos).

Caixas de diálogo-padrão de sistema operativo. Estudo das principais funções do VBA. Controlo de erros.

Definição de macro. Macros de comando. Macros de função. Gravação e edição de macros. Segurança e certificação.

Utilização de bibliotecas de objetos. Estudo dos principais objetos do Excel.

Conceito visual.

Utilização de controlos gerais.

Modelo de acesso ADO.

Integração com o Access, com o SQL Server e com o MySQL. Protocolo ODBC.

8 Interação com o Visual Studio Aplicações-consola em Visual Basic. Exportação e importação de dados.

9 Projeto

Projeto integralmente resolvido, que permite aos leitores solidificarem os conhecimentos adquiridos ao longo da obra.

© FCA – Editora de Informática C C O O M M O O U U T T I I L L I I Z Z A A R R E E S S T T E E L L I I V V R R O O

Sugerimos também a resolução dos exercí cios propostos, que são apresentados no final dos capítulos; nesta fase, aconselhamos que os resolva por mera consulta do livro, e depois que compare os seus resultados com as soluções que disponibilizamos no site da FCA, em www.fca.pt, na página do livro, até este se esgotar ou ser publicada nova edição atualizada ou com alterações.

C C O O N N V V E E N N Ç Ç Õ Õ E E S S

Associado a esta estrutura criou-se um conjunto de convenções com o objetivo de facilitar a compreensão das matérias.

E E X X E E M M P P L L O O

Apresentação de ações teórico-práticas resolvidas na íntegra.

C C Ó Ó D DIIG G O

Todos os excertos de código são apresentados no mesmo formato, sendo frequente a junção de um comentário adicional a cinza:

Dim nome As String 'Declaração de uma variável

Quando estamos perante uma instrução muito longa, podemos utilizar o caráter _ (underscore) para proceder à mudança de linha. Desta forma, são interpretadas múltiplas linhas como fazendo parte de uma única instrução. A utilização deste caráter em módulos de programação facilita a interpretação do código e a sua impressão:

Application.MacroOptions Macro:="Imprimir", _ HasShortcutKey:=True, ShorcutKey:="c"

S SIIN N T T A A X X E E

Explicação de como deve escrever as instruções para que estas sejam devidamente compiladas.

A A N N Á Á L LIIS S E E

Interpretação teórica de um bloco de código e explicação do seu objetivo.

D DIIC C A A S S

Sempre que aparecer esta apresentação gráfica, isso significa que são fornecidas ao leitor dicas, isto é, informações úteis e complementares sobre a matéria que, essencialmente, permitem tornar as tarefas mais fáceis.

E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a d d e e IIn nffo orrm m á átti i c c a a XVIII

Sempre que necessário, aparecem pequenas notas com descrição complementar à matéria tratada nessa secção, com o objetivo de fornecer ao leitor esclarecimentos adicionais, embora não essenciais, sobre a matéria.

utilizadas as edições standard das aplicações em inglês do Excel, do SQL e do Visual Studio como base de trabalho, mas o livro adapta-se também aos utilizadores das versões em português. Assim, os comandos e termos ingleses são destacados a negrito e precedidos dos seus correspondentes em português europeu e, se justificável, em português do Brasil entre parênteses curvos, conforme o exemplo seguinte:

File (Ficheiro/Arquivo) → Save (Guardar/Salvar)

Para facilitar a interpretação do texto por parte dos leitores brasileiros, incluímos um glossário de outros termos correspondentes que, embora não estejam presentes nas interfaces de utilizador das diferentes aplicações, são usados pelo autor na explicação das matérias. Este glossário pode ser consultado no final do livro. C

No sentido de proporcionar aos leitores uma ferramenta complementar ao conhecimento transmitido através desta obra, o autor disponibiliza-se a ser contactado para auxiliar os leitores a ultrapassarem eventuais dificuldades que sintam na interpretação das matérias abordadas e/ou na resolução dos variados exercícios apresentados ao longo deste livro. Assim, e com o objetivo de facilitar a resposta por parte do autor, agradecemos que considere os pontos que se seguem aquando do seu contacto:

 Identifique claramente a obra (Excel Macros & VBA – Curso Completo);

 Verifique se, porventura, existe uma errata disponível no site da FCA (www.fca.pt), na página do livro;

 Refira os números do capítulo e da página, caso o seu pedido de informação esteja diretamente relacionado com o conteúdo do livro;

C C O O M M O O U U T TIIL LIIZ Z A A R R E E S S T T E E L LIIV V R R O O © FCA – Editora de Informática XIX N N O O T T A A S S
E E Q Q U UIIV V A A L L Ê Ê N N C CIIA A IIN N G G L L Ê Ê S S / / P P O O R R T T U U G G U U Ê Ê S S D D E E C C O O M M A A N N D D O O S S E E T T E E R R M M O O S S São
G G L L O O S S S S Á Á R RIIO O D D E E T T E E R R M M O O S S –– P P O O R R T T U U G G U U Ê Ê S S E E U U R R O O P P E E U U / / P P O O R R T T U U G G U U Ê Ê S S D D O O B B R R A A S SIIL L
T T A A C C T T A A R R O O A A U U T T O O R R 1 1
C O O N N
1 Este serviço é da responsabilidade do autor e pode deixar de existir sem aviso prévio.

 Indique a versão e a edição do seu sistema operativo em uso (por exemplo, Windows 10 Home, Windows 11 Pro);

 Especifique a versão e a edição do Excel que está a utilizar (por exemplo, Excel 2021 Professional Plus, Excel 365 Family);

 Se a sua questão estiver relacionada com o acesso a bases de dados SQL, refira a versão e a edição em uso (por exemplo, SQL Server 2022 Express, MySQL 8.0 Community);

 Caso o assunto esteja relacionado com o Visual Studio, indique a edição e a versão em uso (por exemplo, Visual Studio Enterprise 2022);

 Se aplicável, proceda ao envio do(s) ficheiro(s) inerente(s) à sua questão;

 Se for o motivo, inclua capturas de ecrã com as mensagens de erro.

Todos os pedidos de esclarecimento, assim como eventuais sugestões, poderão ser enviados diretamente para o autor: loureirohenrique@hotmail.com.

E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a d d e e IIn nffo orrm m á átti i c c a a XX

Neste capítulo inaugural é apresentado um conjunto de conceitos elementares que são indispensáveis para a compreensão dos temas abordados neste livro. São enunciadas as metodologias de programação de maior destaque na indústria dos computadores e apresentados alguns exercícios clássicos resolvíveis com recurso à Algoritmia 1 e a outros ramos da Matemática.

Um computador é um dispositivo eletrónico que opera sobre dados2 que lhe são entregues com vista a determinada resposta, fornecendo em breves instantes a informação que se pretende. Essa informação é medida em bits (a resposta da máquina a uma questão, por exemplo, requer, pelo menos, um bit3 de informação). Nos circuitos digitais, é caracterizado pela presença ou ausência de corrente elétrica.

Um bit pode ser interpretado de diferentes formas, dependendo do contexto em que se insere. Por exemplo, transpondo esta conceção para níveis de experimentação quotidiana, um convite a alguém para almoçar pode ser recusado ou aceite, tal como, num sistema de iluminação, cada lâmpada pode apresentar um de dois estados distintos – acesa ou apagada. A necessidade de quantificação deste decurso bifásico veio dar origem ao sistema de numeração4 binário5 ou de base 26

1 Parte das matemáticas puras que trata dos números no seu conjunto e um dos pilares fundamentais das Ciências de Computação; foi concebida por Al-Khorezmi, pensador árabe do século IX.

2 Informação inicial não processada proveniente do utilizador (por exemplo, através do teclado) ou residente na memória do computador sob a forma de ficheiro.

3 Contração do inglês b(inary) (dig)it; unidade fundamental de informação que pode ser representada; um bit é convencionalmente representado pelos dígitos 1 e 0.

4 Entende-se por sistema de numeração (ou sistema numeral) um conjunto de símbolos utilizados para aferir e representar quantidades (por exemplo: de pessoas, animais, objetos, capacidade, peso, energia).

5 Sistema numérico posicional que utiliza um grupo de dois dígitos (0 e 1) para representar números.

6 A base de um sistema de numeração corresponde à quantidade de dígitos que podem ser utilizados para representar números.

© © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a
F
1 1 1 F
U U N N D D A A M M E E N N T T O O S S
1.1 O O B B I I T T C C O O M M O O U U N N I I D D A A D D E E F F U U N N D D A A M M E E N N T T A A L L D D E E I I N N F F O O R R M M A A Ç Ç Ã Ã O O

A secção 1.2 descreve os processos de representação numérica mais utilizados na Eletrónica e na Computação.

1.2 S S I I S S T T E E

Ç Ç Ã Ã O O

Os processos de contagem comuns recorrem ao sistema de numeração decimal7, oque significa que a posição ocupada por cada dígito num número transforma o valor da potência de base 10 à qual se refere (a contar da direita para a esquerda, o primeiro dígito altera o valor da potência 0, o segundo dígito altera o valor da potência 1, e assim sucessivamente). Por exemplo: no número 3428, o dí gito 3 representa 3000 (três milhares ou 3 x 103); o dígito 4 representa 400 (quatro centenas ou 4 x 10 2); o dígito 2 representa 20 (duas dezenas ou 2 x 101); o dígito 8 representa oito unidades (ou 8 x 100). Por decomposição obtém-se, assim, o número 3428, representado sob a forma de um polinómio8:

(3428)10 = 3 x 103 + 4 x 102 + 2 x 101 + 8 x 100

Num contexto em que é referido/utilizado mais do que um sistema de numeração, é comum englobar o número entre parênteses e identificar a base de representação do número em subscript

Eis outro exemplo de decomposição:

(42321)10 = 4 x 104 + 2 x 103 + 3 x 102 + 2 x 101 + 1 x 100

Uma vez que um bit é representado por um sistema de numeração binário, pois só pode conter um de dois dígitos possíveis (0 ou 1), como é que os computadores foram capazes de representar os dez algarismos do nosso sistema decimal, as letras e outros símbolos com apenas dois estados lógicos de um bit? A resposta é simples: agruparam-se os bits num conjunto de oito, ao qual se atribuiu o nome byte9, e, desta forma, obtiveram-se 256 (28) combinações, tornando possível representar-se números de 0 a 255 (no nosso sistema decimal). Como se fez corresponder a cada um desses números um caráter particular, conseguiu-se reunir um conjunto de 256 carateres diferentes.

7 Sistema numérico posicional que utiliza um grupo de dez dígitos (de 0 a 9) para representar números; é também conhecido por sistema de numeração de base 10.

8 Expressão que se obtém somando ou subtraindo dois ou mais produtos de fatores.

9 Representa um caráter e pode ser abreviado pela letra ‘B’; a origem da palavra byte permanece um mistério, mas pensa-se que resultou da união das palavras bit e eight (oito).

E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a de e IIn nffo orrm m á átti i c c a a 2
M M A A S S D D E E N N U U M M E E R R A A
1.2.1 S SIIS S T T E E M M A A D D E E N N U U M M E E R R A A Ç Ç Ã Ã O O B BIIN N Á Á R RIIO O : : N N O O Ç Ç Ã Ã O O D D E E B B Y Y T T E E

O presente capítulo foca os elementos de programação basilares (tipos de dados, variáveis, constantes, funções, condições e ciclos) e a forma como o VBA se encontra implementado no Excel. No início do texto, são introduzidos os conceitos fundamentais de uma linguagem de programação orientada a objetos (POO)1, tais como as noções de objeto, propriedade, método e evento. Iremos, ainda, perceber como estes elementos funcionam em conjunto para formar uma aplicação típica da “era visual”.

2.1. A A C C R R I I S S E E D D O O S S O O F F T T W W A A R R E E

O aumento da complexidade das aplicações implicou que o software ficasse mais caro e exigiu aos profissionais da computação maior capacidade de adaptação às novas linguagens e sistemas operativos que iam surgindo. As aplicações tornaram-se mais procuradas, é certo, mas também mais dispendiosas e com menor qualidade. Tornou-se urgente encontrar uma forma de aumentar a produtividade dos programadores, isto é, de fazer com que existisse a possibilidade de se utilizar parte de determinadas aplicações em outras, empregando basicamente as mesmas ideias, o mesmo código e os mesmos objetos. O que é mais simples? Escrever dez vezes o seu nome ou cortar e depois colar quantas vezes for necessário? A filosofia adotada pela comunidade informática foi esta mesma; se pudermos poupar tempo e trabalho, porque não o fazer? No final da década de 80 do século XX, a tecnologia capaz de lidar com este problema foi a POO. As capacidades de abstração, encapsulamento e modularidade, características deste tipo de linguagens, foram particularmente bem-sucedidas, na medida em que simplificaram consideravelmente projetos que até então eram muito complexos e difíceis de estruturar.

Este novo sistema veio conceber técnicas e conceitos de desenvolvimento completamente diferentes. Uma aplicação deixou de consistir apenas num conjunto de instruções que visava o desempenho de uma tarefa específica e passou a ser definido como um conjunto de instruções e de objetos que interagem entre si, em que cada elemento preserva a sua individualidade e desempenha um papel especial na execução de uma tarefa.

1 Sistema que encara o desenvolvimento de aplicações como uma simulação do mundo real.

© © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a 2
A A R R Q Q U UIIT T E E T T U U R R A A V V B B A A
2 2

O VBA é uma linguagem de programação utilizada por aplicações Windows cujo objetivo é a automatização de tarefas que envolvem objetos. Utiliza a metodologia orientada a objetos, sendo um objeto uma combinação de código e dados que pode ser manipulado como uma unidade. Exemplos de objetos do Excel são gráficos, folhas de cálculo, formulários e imagens, entre tantos outros. Em VBA, o Excel é um objeto da categoria Application, um livro é um Workbook e uma folha de cálculo um Worksheet. Estes são alguns dos objetos mais importantes do Excel Basic2 .

A POO segue o método hierárquico em que uma coleção contém um conjunto de objetos agrupados segundo a sua categoria e as suas próprias características e funcionalidades. Por exemplo, todos os livros incluem a coleção Worksheets, que representa todas as folhas de cálculo desse livro. A própria aplicação contém uma coleção de objetos – a coleção Workbooks, que representa todos os ficheiros (livros) presentemente utilizados pela instância da aplicação atual. No Excel, uma folha de cálculo é uma ocorrência de um livro que, por sua vez, é uma ocorrência da própria aplicação. Isto significa que sem livros não temos folhas de cálculo e sem folhas não temos células, e que para utilizarmos todos estes objetos necessitamos igualmente dessa aplicação.

Diz-se que um objeto é “filho” de outro quando está imediatamente abaixo do nível hierárquico do segundo. Por exemplo, o objeto Application é “pai” do objeto Workbook, e este, por sua vez, é “pai” do objeto Worksheet.

2.3. T T I I P P O O S S D D E E M M Ó Ó D D U U L L O O S S

A POO considera a existência de dois tipos de módulos (Tabela 2.1).

MÓDULOS DESCRIÇÃO

De classe

Contêm a definição e implementação de objetos, assim como outros procedimentos definidos pelo programador. Exemplos de módulos de classe são módulos de livros, folhas e formulários, sendo particularmente úteis quando é necessário executar alguma ação sobre um objeto específico. Um ficheiro de Excel contém apenas um módulo de livro e tantos módulos de folhas quantas folhas o livro tiver.

Gerais Contêm procedimentos definidos pelo programador, tornando as rotinas facilmente acessíveis a partir de outro módulo. Este tipo de módulos evita a repetição de código verificada em módulos de classe, pois muitas vezes há procedimentos cujas ações respetivas são para executar em localizações (ou objetos) diferentes.

2 O VBA específico do Excel é denominado Excel Basic.

E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a de e IIn nffo orrm m á átti i c c a a 52 2.2. N N O O Ç Ç Õ Õ E E S S D D E E O O B B J J E E T T O O E E C C O O L L E E Ç Ç Ã Ã O O
T T A A B B E E L L A A 2 2. 1 1 –– Tipos de módulos

3 3

No Excel, o emprego sistemático de funções constitui a base de toda a funcionalidade e conveniência de uma folha de cálculo (somas automáticas, estatísticas, arredondamentos, contagens, pesquisa, etc.). Este capítulo concentra-se no estudo de um lote variado de funções intrínsecas do VBA, imprescindíveis na concretização de uma solução informática.

3.1 S S I I N N T T A A X X E E G G E E R R A A L L

As funções VBA são muito semelhantes às proporcionadas pelo Excel, sendo que muitas têm até o mesmo nome e o mesmo número de argumentos, e as regras a ter em atenção consistem basicamente nas mesmas. A diferença mais marcante é, portanto, a separação dos diversos argumentos das funções. No Excel, os argumentos são separados por pontos e vírgulas, em VBA a separação é feita por vírgulas (ver Sintaxe).

S SIIN N T T A A X X E E ( ( F F U U N N Ç Ç Õ Õ E E S S V V B B A A ) )

Funcao(argumentos)

Em que: Funcao corresponde ao nome da função e argumentos à lista de argumentos separados por vírgulas.

Quando invocamos funções com o objetivo de executar apenas uma tarefa (prescindindo do retorno de valor), os parênteses curvos não são utilizados.

As funções de diálogo obtêm e trocam informações entre o utilizador e a aplicação.

A função MsgBox apresenta no ecrã uma caixa de mensagem-padrão de sistema operativo com o ícone e os botões especificados. Utiliza os argumentos da Tabela 3.1.

© © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a
F F U U N N Ç Ç Õ Õ E E S S V V B B A A
3
3.2 F F U U N N Ç Ç Õ Õ E E S S D D E E D D I I Á Á L L O O G G O O
3.2.1 F F U U N N Ç Ç Ã Ã O O M M S S G G B B O O X X

ARGUMENTO DESCRIÇÃO OBRIGATÓRIO? TIPO

Prompt

Texto que constitui a mensagem a ser apresentada na caixa de diálogo. O comprimento máximo do texto é de, aproximadamente, 1024 carateres, dependendo da largura ocupada pelos mesmos.

Buttons

Expressão numérica, resultado da soma de várias constantes intrínsecas do VBA, que dita a apresentação da própria caixa no ecrã, como os ícones e botões a serem apresentados. Se não for especificado, o valor utilizado será igual a zero, o que significa que nenhum ícone é apresentado e a caixa contém apenas o botão OK.

Sim String

Não Number

Title

Texto da barra de título da caixa de diálogo. Se omitirmos este argumento, aparecerá “Microsoft Excel”.

Não String

Helpfile

Aponta para determinado ficheiro de ajuda. A especificação deste argumento origina o aparecimento de um botão de ajuda ao utilizador.

Context Número correspondente ao tópico de ajuda para o qual o utilizador será direcionado.

As

Não String

Não Number

E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a de e IIn nffo orrm m á átti i c c a a 128 T T A A B B E E L L A A 3 3. 1 1 –– Argumentos da função MsgBox
a escolha
ícone são
indicadas na Tabela 3.2. T T A A B B E E L L A A 3 3 .2 2 –– Constantes utilizadas para a escolha do ícone (argumento Buttons)
a aparência das caixas com as diferentes constantes
3.1. F FIIG G U U R R A A 3 3..1 1 –– Diferentes ícones da função MsgBox
constantes utilizadas para
do
as
Confira
na Figura
CONSTANTE VALOR vbCritical 16 vbQuestion 32 vbExclamation 48 vbInformation 64

Este capítulo aborda o estudo dos processos de automatização da folha de cálculo através de macros e reforça a importância das mesmas como meio de aprendizagem da programação dos objetos e tarefas específicas da aplicação Excel.

4.1 D D E E F F I I N N I I Ç Ç Ã Ã O O D D E E M M A A C C R R O O

Uma macro representa um conjunto de comandos e funções definido num módulo de programação, podendo ser executada sempre que pretendermos realizar uma tarefa específica e atingir determinado objetivo. As macros estão para o Excel como um controlo remoto está para um televisor; podemos desfrutar de todas as potencialidades da aplicação sem recorrer ao VBA, porém, a utilização deste torna a vida mais conveniente e cómoda, além de permitir, em poucos segundos, a resolução de tarefas de maior complexidade que demorariam minutos ou até horas a completar, como o acesso a uma base de dados e a sucessiva importação personalizada.

O Excel, em colaboração com o VBA, incorpora um processo bastante poderoso para a automatização da aplicação, tendo sido a primeira aplicação a ganhar e a conhecer a vantagem desta funcionalidade. O VBA pode, através deste processo, denominado automação, comunicar e controlar o Excel, responsável por expor as suas capacidades através de uma definição de comandos e elementos – a biblioteca de objetos.

Existem dois tipos de macros: as macros de comando e as macros de função. Ambas são procedimentos autodeclarados num módulo de programação, porém, as suas definições, os seus processos de obtenção e os seus propósitos são distintos.

4.2 M M A A C C R R O O S S D D E E C C O O M M A A N N D D O O

As macros de comando são procedimentos gerais e, como tal, executam ações, mas não retornam valores. Estes procedimentos podem ser invocados de diversas formas, por exemplo, a partir de um procedimento de evento de qualquer objeto de folha de cálculo, de uma tecla de atalho, de uma opção de menu ou de um botão disponível no Ribbon (Friso/Faixa de Opções). Em resumo, constituem um conjunto de comandos intrínsecos da própria aplicação, agrupados e combinados numa ordem, imposta e ditada pelas ações a desempenhar.

© © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a 4 4 4 M M A A C C R R O O S S

Existem duas formas de criar macros de comando: Através do Gravador de Macros1; Digitando diretamente o código no Editor do Visual Basic, ou seja, através da criação de procedimentos gerais, como temos vindo a recorrer até agora.

Há dois modos de gravação de macros de comando: o modo de referência absoluta e o modo de referência relativa, como explicado na Tabela 4.1.

MODO DE GRAVAÇÃO DESCRIÇÃO

Referência absoluta A macro é executada exatamente da mesma forma como foi gravada. Referência relativa Aquando da execução da macro, as alterações sobre a folha de cálculo estão dependentes da célula que estiver então selecionada.

A escolha do modo de gravação é feita com recurso ao botão Use Relative References (Utilizar/Usar Referências Relativas), como se pode ver na Figura 4.1, disponível no separador Developer (Programador/Desenvolvedor). Se o botão estiver selecionado, significa que a gravação da próxima macro será feita com base em referências relativas; caso contrário, será gravada em modo normal (de referência absoluta).

Para iniciar a gravação de uma macro de comando:

1) Não selecione botão Use Relative References (Utilizar/Usar Referências Relativas), pois a macro deverá ser gravada com referências absolutas).

1 O Excel, tal como outras aplicações Microsoft, vem provido de uma ferramenta indispensável em programação – o Gravador de Macros. O mecanismo é simples de compreender e o funcionamento assemelha-se ao de um DVD: a diferença reside no facto de o DVD registar e reproduzir conteúdos multimédia, enquanto o Gravador de Macros regista e reproduz ações.

E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a d d e e IIn nffo orrm m á átti i c c a a 168 4.2.1 C C R RIIA A Ç Ç Ã Ã O O D D E E M M A A C C R R O O S S D D E E C C O O M M A A N N D D O O
4.2.1.1 E E S S CO O L L H H A A D D O O M M O O D D O O D D E E G G R R A A V V A A Ç Ç Ã Ã O O
T T A A B B E E L L A A 4 4. 1 1 –– Modos de gravação
macros
de
de comando
F FIIG G U U R R A 4 4..1 1 –– Utilização
referências
4.2.1.2 I I N N Í Í C C I I O O D D O O P P R R O O C C E E S S S S O O D D E E G G R R A A V V A A Ç Ç Ã Ã O O
de
relativas em gravações de macros

Agora que conhecemos a estrutura, a organização e a forma como o VBA pode comunicar com a aplicação Excel, aprofundaremos, neste capítulo, o estudo dos objetos que são considerados os de maior importância na programação, através da análise dos métodos, propriedades e eventos de cada um deles. 5.1

A criação de um projeto VBA em Excel implica a utilização de diversas bibliotecas de objetos que proporcionam informações aos controladores de automação, não só aos existentes no próprio VBA, como também aos presentes noutras linguagens de programação e aplicações, tais como Visual Basic, C++, C#, entre outros. A comunicação entre uma ferramenta de desenvolvimento e outra aplicação é estabelecida através de um canal de difusão de dados que liga dois ou mais ficheiros, mais propriamente um executável e um ficheiro de tempo de execução ( run-time), normalmente de extensão olb (object library), dll (dynamic-link library ) ou tlb (type library). As bibliotecas de objetos podem, ainda, permanecer em ficheiros exe (executáveis).

O Object Browser (Pesquisador de objeto) permite visualizar os conteúdos das bibliotecas e obter informações adicionais acerca dos objetos que as compõem, tais como as classes, as propriedades, os métodos, os eventos e as constantes disponíveis nas bibliotecas e procedimentos de determinado projeto. Pode utilizar esta ferramenta para pesquisar e utilizar objetos por si criados, bem como outros objetos de outras aplicações.

Para aceder ao Object Browser (Pesquisador de objeto), considere os passos que se seguem:

1) Aceda à janela do Editor do Visual Basic.

2) Execute o comando de menu View (Exibir) → Object Browser (Pesquisador de objeto), como na Figura 5.1.

© © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a 5 5 5 O O B B J J E E T T O O S S D D O O E E X X C C E E L L
C C
S S D
B B I I B B L L I I O O T T E E
A A
D E E O O B B J J E E T T O O S S
5.1.1 O O B B J J E E C C T T B B R R O O W W S S E E R R ( ( P P E E S S Q Q U UIIS S A A D D O O R R D D E E O O B B J J E E T T O O ) )

Pode também, em alternativa, fazer clique sobre o botão da barra de ferramentas Standard (Padrão) ou, ainda, premir a tecla <F2>.

3) Surge o Object Browser (Pesquisador de objeto), que é composto pelas secções indicadas na Figura 5.2.

Biblioteca

Classe

Detalhe

(Navegador/Pesquisador de objeto)

Para visualizar informações acerca de determinado item:

1) Escolha o projeto ou biblioteca, a partir da caixa Biblioteca

2) Utilize as caixas de listagem Classe e Membro para selecionar a classe ou membro de classe, respetivamente.

3) Visualize as informações acerca do item escolhido no item anterior, na secção Detalhe

4) Faça clique sobre o botão Ajuda para aceder ao tópico associado ao item selecionado.

Por predefinição, um projeto VBA do Excel apresenta as referências às bibliotecas indicadas na Tabela 5.1.

E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a de e IIn nffo orrm m á átti i c c a a 222 F FIIG G U U R R A A 5 5..1 1 –– Acesso ao Object Browser (Pesquisador de objeto)
F FIIG G U U R R A A 5 5..2 2 –– Object
Browser
E
5.1.2 B BIIB B L LIIO O T T
E C C A A S S- P P A A D D R R Ã Ã O O
Membro de classe Ajuda

F F O O R R M M U U L L Á Á R RIIO O S S

A interface do utilizador constitui a parte mais importante no desenvolvimento em ambiente Windows, por corresponder à única parcela visível de uma aplicação e por ser responsável por quase toda a sua interatividade. Este capítulo centra-se no desenvolvimento de formulários e controlos-padrão para o estabelecimento do “diálogo” entre o utilizador e as demais funcionalidades de uma aplicação.

6.1 O O G G D D I I D D O O W W I I N N D D O O W W S S

O sistema operativo Windows vem provido de um vasto conjunto de funcionalidades que permite, através de qualquer linguagem visual, criar a interface necessária entre as aplicações que desenvolve e os utilizadores finais. Essa característica própria do sistema operativo é designada por Graphic Development Interface (GDI).

A parte visível de qualquer aplicação (formulários, caixas de diálogo, botões, menus, barras de ferramentas, imagens, etc.) é implementada pela interface de desenvolvimento – Integrated Development Environment (IDE). A linguagem é responsável por aceder ao GDI e criar os objetos que o programador solicita, mostrando-os no Editor do Visual Basic, em fase de desenho dos formulários. Em resumo, a programação do ambiente gráfico para o Excel processa-se segundo o diagrama apresentado na Figura 6.1.

© © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a 6 6 6
F FIIG G U U R R A A 6 6. 1 1 ––
Grafismo numa linguagem visual

Assim, por intermédio de formulários, caixas de diálogo e controlos standard, conseguimos estabelecer um diálogo entre o ut ilizador e as demais funcionalidades de uma aplicação.

Os controlos estão em todo o lado, os controlos estão onde o Windows está! Alteramos o tipo de letra através de uma caixa de combinação que apresenta todos os tipos de letra instalados no computador, pesquisamos ficheiros introduzindo um texto aproximado dos seus nomes numa caixa de texto, abrimos pastas com a ajuda de caixas de listagem e confirmamos a remoção de todos os ficheiros da reciclagem com um botão de comando, dando “resposta” a uma caixa de diálogo padrão, cujo texto permanece num controlo de texto estático (rótulo). É impossível enumerarem-se as operações levadas a cabo pelos demais utilizadores que não envolvem controlos, porque essas ações simplesmente não existem!

6.2 F F O O R R M M U U L L Á Á R R I I O O S S E E C C O O N N T T R R O O L L O O S S

O primeiro passo para criar uma aplicação visual em VBA é o desenvolvimento da interface dessa aplicação, em que os formulários e os controlos são as peças fundamentais para tornar um projeto utilizável, dinâmico e funcional aos olhos do utilizador. Os formulários são janelas ou caixas de diálogo que contêm controlos (objetos que podem ser de tipos diferentes, mediante a especificidade imposta pela idealização gráfica do projeto em desenvolvimento).

Em Excel, os formulários são objetos da categoria UserForm, cuja implementação só é possível através do VBA por inserção de um módulo de classe no projeto pretendido.

Para criar um novo formulário:

1) Aceda ao Editor do Visual Basic.

2) Insira um módulo de formulário, executando o comando de menu Insert (Inserir) → UserForm (Figura 6.2).

E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a de e IIn nffo orrm m á átti i c c a a 294
6.2.1 C C R RIIA A Ç Ç Ã Ã O O D D E E F F O O R R M M U U L L Á Á R RIIO O S S
F FIIG G U U R R A A 6 6 .2 2 –– Inserção de um formulário

Neste capítulo, iremos abordar os principais conceitos envolvidos no acesso a bases de dados a partir do Excel recorrendo a diversas técnicas para obter e manipular bases de dados relacionais1. Será também feito um resumo dos principais comandos Structured Query Language (SQL2) necessários para a execução de operações sobre alguns dos mais relevantes Sistemas de Gestão de Bases de Dados (SGBD)3 – o Access, o SQL Server e o MySQL.

É possível dizer, de uma forma genérica, que uma base de dados consiste num conjunto de dados, relacionados entre si, que giram à volta de um tópico e de um propósito específicos: um registo dos empregados de uma empresa, uma agenda de telemóvel, uma lista de CD e uma biblioteca de livros. O objetivo de criarmos e mantermos uma base de dados é o de poder obter e utilizar os dados nela armazenados: saber a data de admissão de um funcionário numa empresa, adicionar um contacto móvel, procurar o nome do compositor de uma faixa de música e listar todos os títulos de um determinado autor.

Para permitir a execução de diversas operações sobre as bases de dados, são utilizados SGBD de pequeno porte, tal como o Access. Já em organizações de maior complexidade e que requerem uma política de segurança mais apertada e uma utilização intensiva, recorre-se a sistemas como o Oracle4, SQL Server e MySQL, que possuem maior

1 Estruturas de dados bidimensionais (em forma de tabelas) compostas por linhas (registos) e por colunas (campos); cada uma das tabelas que compõem uma base de dados relacional pode cruzar informação com outra(s) tabela(s) por um ou mais campos comuns.

2 Linguagem de programação baseada em texto e composta por comandos-padrão que permitem consultar, atualizar e manusear uma base de dados.

3 Softwares com recursos específicos para facilitar a manipulação dos dados e o desenvolvimento das aplicações.

4 SGBD que surgiu no final da década de 70 do século XX pela mão de Larry Ellison, o presidente da Oracle Corporation; este SGBD co ntinua a ser líder de mercado.

© © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a 7
B B A A S S E E S S D D E E D D A A D D O O
7 7
S S
7.1 S S I I S S T T E E M M A A S S D D E E G G E E S S T T Ã Ã O O D D E E B B A A S S E E S S D D E E D D A A D D O O S S

capacidade de armazenamento e velocidade de acesso à informação, sendo indicados para ofuncionamento em rede e em ambientes de multiutilizador.

Esta secção visa a criação de uma base de dados para servir de exemplo no estudo dos principais comandos de SQL que podem ser executados diretamente a partir do Excel sobre o SGBD externo.

O departamento de Recursos Humanos de uma empresa pretende criar uma base de dados para armazenar informações pessoais sobre os seus funcionários e automatizá-la por intermédio de um projeto VBA desenvolvido no Excel.

Assim, deverão ser recolhidos os seguintes dados:

Número de identificação na empresa;

Nome e apelido;

Sexo;

Departamento ao qual o funcionário pertence.

A criação da estrutura da tabela de dados consiste basicamente na definição dos campos e respetivos tipos de dados e na escolha da chave primária5

Assim, leve a cabo as seguintes tarefas:

1) Ao iniciar o Access, escolha a opção Blank database (Base/Banco de dados em branco).

2) Selecione o diretório de gravação e atribua o nome ao ficheiro de base de dados (Figura 7.1).

5 Campo ou conjunto de campos que identifica, de forma única, cada registo da tabela.

E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a de e IIn nffo orrm m á átti i c c a a 380
7.2 I I N N T T E E G G R R A A Ç Ç Ã Ã O O C C O O M M O O A A C C C C E E S S S S
O O B B J J E E T TIIV V O O
7.2.1
7.2.2 C C R RIIA A Ç Ç Ã Ã O O D D A A T T A A B B E E L L A A D D E E D D A A D D O O S S

O Visual Studio é o mais emblemático package de ferramentas de desenvolvimento da Microsoft que permite conceber e estruturar aplicações com recurso a diversas linguagens de programação, tais como Visual Basic, Visual C# e Visual C++. Este capítulo vem demonstrar como é realizada a permuta de informação entre o VBA do Excel e o Visual Basic que vem incluído com o Visual Studio.

A A P P L L I I C C A A Ç Ç Õ Õ

E S S

- C C O O N N S S O O L L A A

As aplicações-consola permitem o desenvolvimento de tarefas de programação de e para uma janela de linha de comandos, sendo ideais para a criação de rotinas simples.

Consulte o anexo online – Guia de Instalação –, disponível em www.fca.pt, para conhecer os processos de instalação e configuração do Visual Studio.

A interface de desenvolvimento integrada no Visual Studio disponibiliza um modelo geral (template) para a criação de aplicações-consola – o template Console Application (Aplicativo de Console).

Com o objetivo de realizarmos um primeiro teste, crie-se um projeto deste tipo. Para tal:

1) Escolha a opção File (Arquivo) → New Project (Novo Projeto), como na Figura 8.1.

2) Na caixa de diálogo apresentada na Figura 8.2, escolha o template Console Application (Aplicativo de Console), na versão Visual Basic.

© © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a 8 8 8 I I N N T T E E R R A A Ç Ç Ã Ã O O C C O O M M O O V VIIS S U U A A L L S S T T U U D DIIO O
8.1
E
-
F FIIG G U U R R A A 8 8 .1 1 –– Pedido de criação de um novo projeto

3) Na caixa de diálogo apresentada na Figura 8.3, atribua o nome ao projeto – a título de exemplo, escreva ‘Teste’ na caixa Project name (Nome do projeto).

4) Confirme as suas configurações em Next (Próximo).

5) Na caixa de diálogo apresentada na Figura 8.4, escolha a versão mais recente da framework (.NET 7.0).

da versão da plataforma de destino

6) Confirme a criação do projeto em Create (Criar).

E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a de e IIn nffo orrm m á átti i c c a a 420 F FIIG G U U R R A A 8 8..2 2 –– Pedido
de criação de um projeto do tipo aplicação-consola
F FIIG G U U R R A A
8 8..3 3 –– Configuração do projeto
F FIIG G U U R R A A 8 8 .4 4 –– Indicação

Neste capítulo, iremos desenvolver uma aplicação profissional que consistirá na obtenção e tratamento de dados estatísticos de desemprego. As diversas pessoas a participarem neste estudo serão contactadas única e exclusivamente por via telefónica, através de qualquer rede de telecomunicações nacionais, fixa ou móvel. Após a fase de recolha, proceder-se-á a uma análise estatística, consistindo esta no cálculo da taxa de desemprego. Os utilizadores terão também acesso a um conjunto de gráficos.

9.1 R R E E C C O O L L H H A A D D E E D D A A D D O O S S

Os campos deverão ser preenchidos de acordo com o exposto na Tabela 9.1.

CAMPO DESCRIÇÃO

Amostra

Este estudo envolverá um universo de 10 000 amostras. O número de cada entrevistado é atribuído sequencial e automaticamente.

VALORES

Valores numéricos compreendidos entre 1 e 10 000.

Idade A idade do entrevistado. Entre 18 e 65.

Sexo O sexo do entrevistado.

Empregados

Preenchido no caso de o entrevistado estar empregado.

Desempregados Preenchido no caso de o entrevistado estar desempregado.

M (Masculino) e F (Feminino).

A (Contrato temporário).

B (Contrato a termo certo).

C (Empresário/liberal).

A (Há menos de 1 ano).

B (Há mais de 1 ano).

C (Procura o primeiro emprego).

Não serão incluídos no estudo indivíduos em idade ativa que tenham obtido reforma antecipada por invalidez, por opção ou por qualquer outro motivo, assim como estudantes não trabalhadores.

© © F F C C A A –– E E diit t o orra a d d e e IIn nffo orrm m á átti i c c a a 9 9 9 P P R R O O J J E E T T O O
T T A A B B E E L L A A 9 9. 1 1 –– Campos e respetivos valores de preenchimento

Leve a cabo as seguintes tarefas:

1) Inicie o Excel e crie um livro em branco.

2) Mude o nome da folha de cálculo Sheet1 (Folha1/Planilha1) para Recolha

3) Insira alguns dados de teste, como na Figura 9.1.

Esta aplicação destina-se a utilizadores do Windows que não necessitam de quaisquer conhecimentos de Excel e é constituída apenas por um formulário com diversos separadores: um utilizado exclusivamente para a recolha de dados e os restantes para a apresentação de estatísticas acompanhadas de gráficos. Então, comece por criar o formulário, tendo em conta o seguinte procedimento:

1) Aceda ao Editor do Visual Basic e insira um módulo de formulário.

2) Altere a propriedade Name do formulário para “frmProjeto”.

3) Altere a propriedade Caption do formulário para “Projeto”.

O primeiro separador servirá para a recolha de dados e deverá ser selecionado imediatamente após o aparecimento do formulário no ecrã.

E E X X C C E E L L –– M M A A C C R R O O S S & & V V B B A A © © F F C C A A –– E E d diit t o orra a de e IIn nffo orrm m á átti i c c a a 430 9.2 I I N N S S E E R R Ç Ç Ã Ã O O D D E E D D A A D D O O S S D D E E T T E E S S T T E E
F FIIG G U U R R A A 9 9. 1 1 –– Dados de teste para o projeto 9.3 C C R R I I A A Ç Ç Ã Ã O O D D O O F F O O R R M M U U L L Á Á R R I I O O
9.4 R R E E C C O O L L H H A A D D E E D D A A D D O O S S ( ( D D E E S S E E N N H H O O ) )

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.