curs de programare 1

8
Curs de Programare 1 - Programarea aplicațiilor Microsoft Office (Visual Basic for Applications) Introducere VBA (Visual Basic for Applications) este un limbaj de programare creat de Microsoft pentru automatizarea aplicațiilor. Atașat inițial componentelor din Microsoft Office, în prezent sunt raportate peste 200 de aplicații care include VBA (CorelDraw, AutoCAD etc.).VBA este parte a familiei de limbaje Visual Basic, situându-se sub VB, dar peste VBScript. Totuși, VBA este acum un element esențial în versiunea completă VB, oferind suport pentru limbaj, interfața pentru forme, controale, obiecte, tehnologii de accesare a datelor. Atunci când este găzduită de altă aplicație, cum ar fi Excel, VBA oferă mijloacele de interacțiune cu obiectele aplicației gazdă. In acest caz, VBA permite dezvoltatorilor să furnizeze soluții complete care extind și/sau integrează aplicațiile gazdă. Pentru a programa în VBA trebuie totuși reținut că o cerință suplimentară față de alte limbaje este aceea că trebuie să se cunoască aplicația gazdă (Word, Excel, PowerPoint, Access etc.). Tipurile de controale disponibile in VBA sunt prezentate in tabelul urmator: Tipuri de controale VBA Nr. crt. Tip de control 1. Etichete control 2. Casetă text control 3. CommandButton control 4. Casetă listă control 5. casetă combo control 6. Cadru control 7. OptionButton control 8. casetă de selectare control 9. ToggleButton control 10. TabStrip control 11. MultiPage control 12. Bară de defilare control 13. SpinButton control 14. RefEdit control 15. Imagine control 1. Scurt istoric 1993 — VBA apare în Microsoft Excel 1994 — VBA este atașat la Microsoft Project

Upload: anca-ancaa

Post on 04-Jan-2016

221 views

Category:

Documents


0 download

DESCRIPTION

gdgr

TRANSCRIPT

Page 1: Curs de Programare 1

Curs de Programare 1 - Programarea aplicațiilor Microsoft Office (Visual Basic for Applications)

Introducere

VBA (Visual Basic for Applications) este un limbaj de programare creat de Microsoft pentru automatizarea aplicațiilor. Atașat inițial componentelor din Microsoft Office, în prezent sunt raportate peste 200 de aplicații care include VBA (CorelDraw, AutoCAD etc.).VBA este parte a familiei de limbaje Visual Basic, situându-se sub VB, dar peste VBScript. Totuși, VBA este acum un element esențial în versiunea completă VB, oferind suport pentru limbaj, interfața pentru forme, controale, obiecte, tehnologii de accesare a datelor. Atunci când este găzduită de altă aplicație, cum ar fi Excel, VBA oferă mijloacele de interacțiune cu obiectele aplicației gazdă. In acest caz, VBA permite dezvoltatorilor să furnizeze soluții complete care extind și/sau integrează aplicațiile gazdă. Pentru a programa în VBA trebuie totuși reținut că o cerință suplimentară față de alte limbaje este aceea că trebuie să se cunoască aplicația gazdă (Word, Excel, PowerPoint, Access etc.).Tipurile de controale disponibile in VBA sunt prezentate in tabelul urmator:

Tipuri de controale VBANr. crt. Tip de control

1. Etichete control2. Casetă text control3. CommandButton control4. Casetă listă control5. casetă combo control6. Cadru control7. OptionButton control8. casetă de selectare control9. ToggleButton control10. TabStrip control11. MultiPage control12. Bară de defilare control13. SpinButton control14. RefEdit control15. Imagine control

1. Scurt istoric1993 — VBA apare în Microsoft Excel1994 — VBA este atașat la Microsoft Project1995 — este inclus în Microsoft Access, înlocuind Access Basic1996 — VBA devine element în Visual Basic1996 — este inclus în Word, înlocuind Word Basic1997—VBA este integrat în suita Office 971997 — Microsoft licențiază VBA pentru utilizarea în alte aplicații software

2. Tipuri de controale

2.1. Controalele casetă textControalele casetă text sunt utilizate frecvent pentru a aduna de intrare de la un utilizator. Proprietatea Text conține intrarea efectuate într-un control casetă text .Cum se utilizează un control casetă text pentru a valida o parolă

Page 2: Curs de Programare 1

Dacă ați setat proprietatea PasswordChar unui control casetă text , acesta va fi un control "editare mascate". Fiecare caracter care este tastat în caseta de text de control este înlocuit vizual de caractere specificat. Pentru a utiliza un control casetă text pentru a valida o parolă, urmați acești pași:Porniți Excel și apoi deschideți un registru de lucru nou necompletat.În meniul Instrumente , indicați spremacrocomenziși apoi faceți clic pe BasicEditor vizuale.În meniul Inserare , faceți clic peUserForm pentru a insera o UserForm în registrul de lucru.Adăugarea unui control casetă text la UserForm.În meniul vizualizare Proiect , faceți clic peProprietăți pentru a face vizibil fereastra proprietăți.În proprietatea PasswordChar a controlului casetă text , tastați *.

Adăugați un control CommandButton UserForm.Faceți dublu clic pe CommandButton control toopen fereastra de cod pentru UserForm.În fereastra de cod, tastați următorul cod pentru Evenimentul CommandButton1 Click :

Exemplu control Caseta textÎn meniul de executare , faceți clic pe RunSub/UserForm.Tastați parola Userform în caseta de text de control.Faceți clic pe controlul CommandButton.Pentru acest exemplu, parola este "userform". Dacă tastați o parolă incorectă, veți primi o casetă de mesaj care afirmă că parola este incorectă, controlul casetă text este eliminat și apoi posibilitatea să reintroduceți parola. Când tastați o parolă corectă, primiți un mesaj de întâmpinare, și UserForm se închide.

2.2. Controale de tip CommandButton Utilizați un control CommandButton pentru a porni o procedură VBA. Evenimentul Click pentru controlul CommandButton de obicei atașat procedura VBA. Pentru a utiliza un control CommandButton care se execută o procedură când faceți clic pe evenimentul apare, urmați acești pași:Porniți Excel și apoi deschideți un registru de lucru nou necompletat.În meniul Instrumente , indicați spremacrocomenziși apoi faceți clic pe BasicEditor vizuale.În meniul Inserare , faceți clic peUserForm pentru a insera o UserForm în registrul de lucru.Adăugați un control CommandButton UserForm.Faceți dublu clic pe CommandButton control todisplay fereastra de cod pentru UserForm.În fereastra de cod, introduceți codul următor:

Page 3: Curs de Programare 1

Exemplu de control CommandButtonÎn meniul de executare , faceți clic pe RunSub/UserForm.Culoarea de fundal pentru controlul CommandButton1 schimbă mereu că se face clic.

2.3. Control casetă listăScopul controlului casetă listă este să prezinte utilizatorul cu o listă de articole pentru a selecta din. Aveți posibilitatea să stocați Listă tabel element pentru o listă de control pe o foaie de lucru Excel. Pentru a popula un control casetă listă cu un interval de celule pe o foaie de lucru, utilizați proprietatea Sursă rânduri . Atunci când utilizați proprietatea MultiSelect , posibilitatea să configurați o listă de control pentru a accepta selecții multiple.Cum se obțin elementului selectat din listă de controlUtilizați proprietatea valoare unui control casetă listă pentru a returna elementul selectat. Pentru a returna elementul selectat într-un singur Selectați control casetă listă , urmați acești pași:Porniți Excel și apoi deschideți un registru de lucru nou necompletat.În celulele a1: A5 pe Foaie1, introduceți valorile că doriți alternative pentru a popula controlul casetă listă .În meniul Instrumente , indicați spremacrocomenziși apoi faceți clic pe BasicEditor vizuale.În meniul Inserare , faceți clic peUserForm pentru a insera o UserForm în registrul de lucru.Adăugarea unui control casetă listă la UserForm.Faceți dublu clic pe casetă listă control todisplay fereastra de cod pentru controlul casetă listă .În fereastra de cod, tastați următorul cod pentru Evenimentul Click Casetălistă1 :

Exemplu de control casetă listăÎn meniul de executare , faceți clic pe RunSub/UserForm.Când faceți clic pe un element din listă, apare o casetă de mesaj cu elementul selectat.

2.4 Control imagineScopul controlului de imagine este pentru a afișa o imagine pe un UserForm. Pentru a atribui o fotografie la un control de imagine de la momentul execuției, utilizați funcția LoadPicture .Cum să încărcați o imagine într-un control de imaginePentru a insera un control imagine care vă solicită să selectați o imagine pentru a se încarcă atunci când faceți clic pe controlul de imagine , urmați acești pași:Porniți Excel și apoi deschideți un registru de lucru nou necompletat.În meniul Instrumente , indicați spremacrocomenziși apoi faceți clic pe BasicEditor vizuale.În meniul Inserare , faceți clic peUserForm pentru a insera o UserForm în registrul de lucru.

Page 4: Curs de Programare 1

Adăugați un control imagine pe UserForm.Faceți dublu clic pe controlul de imagine pentru a deschide fereastra theCode pentru controlul imagine .În fereastra de cod, tastați următorul cod pentru Evenimentul Image1 Click :

Exemplu de control ImagineIn meniul de executare , faceți clic pe RunSub/UserForm.UserForm apare.Faceți clic pe controlul de imagine .Faceți clic pe controlul de imagine , Selectați imaginea la deschidere boxappears de dialog, și apoi, aveți posibilitatea să selectați un fișier bitmap pentru a introduce în thecontrol.

3. Structuri de control

3.1. Structuri iterative

Prin intermediul construcțiilor de tip bloc prezentate în această secțiune se poate repeta, în mod controlat, un grup de instrucțiuni. În cazul unui număr nedefinit de repetiții, condiția de oprire poate fi testată la începutul sau la sfârșitul unui ciclu, prin alegerea structurii adecvate.

Structuri iterativeNr.crt. Structuri iterative

1. Do...Loop2. For...Next3. For Each...Next4. While...Wend5. With

Do…Loop Se vor utiliza structuri Do…Loop pentru a executa un grup de instrucțiuni de un număr de ori nedefinit aprioric. Dacă se cunoaște numărul de cicluri, se va utiliza structura For…Next.Execuția structurilor Do … Loop este explicată în tabelul următor

Page 5: Curs de Programare 1

Explicatia structurilor Do … LoopDo While…Loop Testează condiția la începutul buclei, execută bucla numai dacă rezultatul

este True și continuă astfel până când o nouă evaluare produce False.Do Until…Loop Testează condiția la începutul buclei, execută bucla numai dacă rezultatul

este False și continuă astfel până când o nouă evaluare produce True.Do…Loop While Se execută întotdeauna bucla o dată, se testează condiția la sfârșitul buclei

și se repetă bucla atât timp cât condiția este True. Oprirea este pe condiție falsă

Do…Loop Until Se execută întotdeauna bucla o dată, se testează condiția la sfârșitul buclei și se repetă bucla atât timp cât condiția este False. Oprirea este pe condiție adevărată.

For…Next Atunci când se cunoaște numărul de repetări ale unui bloc de instrucțiuni, se va folosi structura For…Next. Structura utilizează o variabilă contor, a cărei valoare se modifică la fiecare ciclu, oprirea fiind atunci când se atinge o valoare specificată.For Each…Next Similară structurii For…Next, structura For Each…Next repetă un grup de instrucțiuni pentru fiecare element dintr-o colecție de obiecte sau dintr-un tablou (cu excepția celor de un tip utilizator). Este utilă atunci când nu se cunoaște numărul de elemente sau dacă se modifică, în timpul execuției, conținutul colecției.While…Wend Execută un grup de instrucțiuni atât timp cât este adevărată o condiție.With Programarea orientată pe obiecte produce, datorită calificărilor succesive, construcții foarte complexe atunci când se numesc proprietățile unui obiect. În cazul modificărilor succesive ale mai multor proprietăți ale aceluiași obiect, repetarea zonei de calificare poate produce erori de scriere și conduce la un text greu de citit. Codul este simplificat prin utilizarea structurii With…End With. O asemenea structură execută o serie de instrucțiuni pentru un obiect sau pentru o variabilă de tip utilizator.

3.2. Structuri de decizie (If…Then…Else, Select Case) Ramificarea firului execuției după rezultatul verificării unei condiții este o necesitate frecventă în orice implementare. Pe lângă structurile prezentate, se pot utiliza trei funcții care realizează alegeri în mod liniarizat (pe o linie de cod): Choose(), Iif(), Switch(). If…Then…Else O asemenea structură, întâlnită de altfel în toate limbajele de programare, execută un grup de instrucțiuni ca răspuns la îndeplinirea unei condiții (compusă sau nu din mai multe condiții testate secvențial). Sintaxa permite o mare varietate de forme.Select Case Instrucțiunea Select Case se poate utiliza în locul unor instrucțiuni ElseIf multiple (dintr-o structură If…Then…ElseIf) atunci când se compară aceeași expresie cu mai multe valori, diferite între ele. Instrucțiunea Select Case furnizează, prin urmare, un sistem de luare a deciziilor similar instrucțiunii If…Then…ElseIf. Totuși, Select Case produce un un cod mai eficient și mai inteligibil.

BibliografieJamsa, K. ,Klander L. – Totul despre C si C++, Editura Teora, 2010

Page 6: Curs de Programare 1

Schildt H. – C, C++ Manual Complet, Editura Teora, 2010Stroustrap, B., – C++, Editura Teora, 2013Kernighan, B., Ritchie, D. ,Limbajul C, Editura TeoraCristea V., Atanasiu I., E. Kalisz, V. Iorga , Tehnici de programare , Editura Teora 1999Dragomirescu C., Satnoianu L., Mirela Popa –Informatica – Fise de lucru pentru elevi , clasa a XI-a , Ed. Donaris , Sibiu , 2012Ionică I., Iordan V., Metode de elaborare a algoritmilor, Ed. Eubeea , Timișoara, 2012 Iordan V., Algoritm și programare în C, Ed. Eurostampa , Timișoara, 2007Ivașc C., Mona Prună , Tehnici de programare – Aplicații , Editura Petrion 1998Lica D., colectiv , Fundamentele programării , Editura L&S , București , 2011Mateescu G., Pavel F. Moraru – Informatică - varianta Pascal, Ed. Niculescu , Bucuresti 2011Oprescu D., L.B. Ienulescu , V. Pătrașcu , Informatică , manual pentru clasa a XI-a , Editura Niculescu , București , 2011Prejmerean V., Algoritmică și programare, Litografia Universității Babeș-Bolyai Cluj Napoca ,1999