View
12
Download
0
Category
Preview:
Citation preview
Birotică Profesională
Cursul 12
Sumar
Visual Basic for Applications (VBA)
Tipuri de date
Structuri de control
Funcţii si proceduri
Obiecte si colecţii
VBA
Mediu de programare destinat in
special realizării de macro-uri
Macrocomandă: secvenţă de
instrucţiuni obţinută prin înregistrarea
unui set de acţiuni specifice unei
aplicaţii in vederea execuţiei ulterioare
Limbaj de programare: Visual Basic
Mediul de dezvoltare
Editorul VBA, accesibil din orice aplicație Microsoft Office 2007/2010: Prin combinația de taste ALT+F11
Prin butonul Visual Basic din selectorul Developer (selectorul se activeaza din optiunile aplicatiei, categoria Popular)
Module Conțin codul VBA grupat in subprograme si
declarații
Sint incluse in fișierele asociate aplicațiilor Office (nu sint salvate in fișiere distincte)
Tipuri de date
Boolean
Byte
Currency
Date
Double
Integer
Long
Single
String
Variant
Variabile
Dim NumeVariabila
Dim NumeVariabila As Tip
Dim MasivUnidimensional(dim-1)
as Tip
Option Explicit
Option Base
Variabile
Dim i as Integer
Dim sir as String
Dim vect(9) As Integer
Dim vect2(1 To 10) As Single
Dim rezultat
Dim V(1 to 10, 1 to 12) As Double
Variabile
i = 0
vect(i) = i * i
sir = “test”
V(i, j) = i * j
Constante
Se utilizează Const
Exemplu:
Const PI as Single = 3.14
Const Mesaj as String = "Informare“
Const DataReferinta As Date =
#5/25/2009#
Constante predefinite
la nivelul limbajului Visual Basic
vbOKOnly, vbInformation
la nivelul fiecărui model de
programare (Word, Excel etc.):
wdToggle, xlNormal
Operatori
+, -, *, \, /, ^, Mod Operatori aritmetici
& Concatenare siruri
=, >, <, >=, <=, <> Operatori relationali
And, Or, Xor, Not Operatori logici
Structuri de control
If conditie Then
'instructiuni
Else
'instructiuni
End If
Structuri de control
Select Case expresie
Case v1
'instructiuni
Case v2
'instructiuni
Case Else
'instructiuni
End Select
Structuri de control
For contor = vi To vf [Step
pas]
'instructiuni
[Exit For]
'instructiuni
Next [contor]
Structuri de control
Option Base 1
...
Dim Cheltuieli(12, 4) As Single
Dim i As Byte
Dim j As Byte
For i = 1 To 12
For j = 1 To 4
Cheltuieli(i, j) = 0
Next j
Next i
Structuri de control
While conditie
'instructiuni
Wend
Structuri de control
Do
'instructiuni
[Exit Do]
'instructiuni
Loop [{While | Until}
conditie]
Structuri de control
Do [{While | Until} conditie]
'instructiuni
[Exit Do]
'instructiuni
Loop
Proceduri si funcţii
Sub NumeProcedura (argument1 As Tip1, argument2 As Tip2, ...)
'instructiuni VBA
End Sub
Function NumeFunctie (argument1 As Tip1, argument2 As Tip2, ...) as Tip
'instructiuni VBA
NumeFunctie = valoareReturnata
End Function
Proceduri si funcţii
Parametri prin valoare ByVal (implicit)
Parametri prin referinta ByRef
Apel funcții/proceduri
ProceduraFaraParametri
ProceduraCuParametri p1, ,p3
Rez = FunctieFaraParametri
Rez = FunctieCuParametri(p1, ,p3,
p4)
Funcţii predefinite
Matematice Abs, Atn, Cos, Sin, Exp, Rnd,
Log
Prelucrare
siruri
Asc, Chr, LCase, Len, LTrim,
RTrim, Trim, UCase, Val, Str,
Mid, Left, Right
Data si timp Date, Time, Now, Day, Month,
Year
Financiare Pmt, NPV, IRR, FV
Funcţii pentru
preluarea/afişarea datelor
MsgBox(mesaj , [butoane], [titlu], …)
Returnează codul butonului apăsat
InputBox(mesaj, [titlu],
[text_initial],[pozx], [pozy], …)
Returnează şirul de caractere introdus
de utilizator sau şirul vid în cazul
apăsării butonului Cancel
Funcţii pentru
preluarea/afişarea datelor
i = InputBox("Valoarea", "Transforma
in hexa")
MsgBox Hex$(Val(i)), , "Hexa"
Clase si obiecte
Clasa – tip definit de utilizator
Obiect – variabilă (instanţă) de tip
clasă
Clasa = Proprietăţi + Metode
Evenimente
Colecţii
Multime de obiecte de acelasi tip
Metode: Add
Proprietati: First, Last, Count
Parcurgerea secventiala a obiectelor:
For Each obiect In Colectie
'Prelucrare obiect
Next
Proprietăţi si metode
Obiect.Proprietate
Obiect.Metoda(param)
With Obiect
.Proprietate
.Metoda(param)
End With
Bibliografie
P. McFedries – Absolute Beginner's Guide to VBA, Que, 2004
R. Mansfield – Office 2003 Application Development All-in-One Desk Reference For Dummies, Wiley Publishing, Inc., 2004
P. Pocatilu si D. Vespan (coord) – Birotică Profesională, Ed. ASE, 2009
R. Shepherd – Excel VBA Macro Programming, McGraw-Hill/Osborne, 2004
Recommended