Trabalho Computacional
Mecânica de Fluidos Ambiental
aula 2
Dúvidas: [email protected]
Ext:3430
Página: https://fenix.ist.utl.pt/homepage/ist146730/mecanicados-fluidos-ambiental-2011-2012 (work in progress...)
Guillaume Riflet
Resumo aula 1






subrotinas, funções,
argumentos, variáveis, tipos de variáveis,
debug.
Alcance (Public, Private)
[arrays]
[ciclos while e for],
https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dosfluidos-ambiental
Exercícios aula 1





Criem a função de um argumento de tipo double que retorne 3x*x – 2.
Criem uma subrotina que teste a função para x=4 e x=25, escrevendo
o resultado numa folha de excel.
Concebam um ciclo for numa subrotina que escreva numa folha de
excel os resultados de 3x*x*x + 4 para todos os x que pertençam ao
intervalo [-30 , 50] com incrementos 2 em 2.
Caso não tenham feito, repitam o exercício anterior usando um array.
Repitam o exercício anterior, mas desta vez a função é 3x*x*x + 4 se
o resultado for positivo e 0 (zero) caso contrário (usem um if).
Gravem a macro dum gráfico com os resultados do exercício anterior
(com x nas abscissas e os valores da função nas ordenadas). Vejam o
código que resultou da gravação da vossa macro.
Conteúdo programado aula 2








condições (if),
Passagem de argumentos por valor ou por referência
Interface Excel-VBA,
Tipos
eventos,
userforms,
Gravação de macros,
Alguns objectos nativos de VBA para excel
Exemplo VII - if
Estruturas de decisão
If...Then
Select Case
If anyDate < Now Then anyDate = Now
Select Case Index
Case 0
If anyDate < Now Then
Case 1
anyDate = Now
Case 2
End If
If...Then...Else
Case 3
If Index = 0 Then
Call Sub1
Case Else
Else If Index = 1 Then
Call Sub2
Else If Index = 2 Then
Call Sub3
Else
Call Sub3
End If
End Select
Call Sub1
Call Sub2
Call Sub3
Call Sub4
Call Sub5
Passagem de argumentos
Sub Main()
Sub TestVal (ByVal b As Integer)
Dim a As Integer
b=b+1
a = 10
End Sub
Call TestVal(a)
a = 10
Call TestRef(a)
Sub TestRef (ByRef b As Integer)
b=b+1
a = 11
End Sub
b = 11
End Sub
b = 11
User defined type
Private Type SystemInfo
CPU As Variant
Memory As Long
VideoColors As Integer
Cost As Currency
PurchaseDate As Variant
End Type
CPU
Memory
SystemInfo
Dim MySystem As SystemInfo, YourSystem As SystemInfo
MySystem.CPU = "486“
YourSystem.PurchaseDate = #1/1/92#
VideoColors
Cost
PurchaseDate
Exemplo VIII - Type
Exemplo IX - Userforms
Exemplo IX - Userforms
Exemplo IX - Userforms
Gravação de Macros

Botão de “record”
Glossário II









Macro de Excel: uma série de instruções feitas pelo Excel (e não pelo
utilizador)
Objectos: estructuras programáticas. Ex: os objectos de VBA para
Excel (Workbooks, sheets, cells, range, charts, drawings,...).
Propriedades: são os campos que compõem os objectos. Pensem no
verbo “ser”.
Métodos: são as rotinas dos objectos. Pensem no verbo “fazer”.
Funções: são as funções dos objectos. Pensem no verbo “calcular”.
Eventos: VBA é uma linguagem orientada por eventos.
Controlos: Permite pôr botões e criar eventos.
Userforms: Permite gerar formulário que os utilizadores podem usar
para entrar dados dentro do programa.
IDE: Integrated Development Environment.
Configurações regionais


Atenção no que toca à linguagem nativa do
office. SEN (português) ou SIN (inglês).
Atenção às definições de separadores de
casas decimais (3.14 ou 3,14) e de formatos
de data (13/05/1980 ou 1980-05-13 ou...).
Download

Aula 2