birotică profesională - asebiroticaprofesionala.ase.ro/selif/b/bpcursul12 - vba.pdfmediul de...

Post on 21-Feb-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related