proiectare asistata pe calculator

Download Proiectare Asistata Pe Calculator

Post on 08-Apr-2018

238 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • 8/6/2019 Proiectare Asistata Pe Calculator

    1/44

    PROIECTARE ASISTATA DE CALCULATOR

    UTILIZAREA LIMBAJULUI VBA PENTRU CONSTRUIREA DEMACROFUNCTII IN EXCEL TM

  • 8/6/2019 Proiectare Asistata Pe Calculator

    2/44

    MODIFICAREA NUMELUI SHEET-URILOR

    La deschiderea unui workbook EXCEL sheet-urile componente au denumirea implicitaSheet1, Sheet2,Sheet3, etc.

    Pentru a redenumi un sheet cursorul mouse-ului se pozitioneaza in dreptul sheet-ului a carui nume se dorestemodificat (bara de nume a sheet-urilor amplasata in partea de jos a ecranului) si se face dublu-click pe

    butonl din stinga al mouse-ului. Prin aceasta operatie caseta sheet-ului selectat se inegreste.

    Se tasteaza numele dorit urmat de Enter

    2

  • 8/6/2019 Proiectare Asistata Pe Calculator

    3/44

    In acest mod utilizatorul poate redenumi sheet-urile aplicatiei pentru a le putea gestiona mai usor continutul.

    Daca se doreste introducerea unui sheet suplimentar atunci din meniul Insert se selecteaza Worksheet:

    3

  • 8/6/2019 Proiectare Asistata Pe Calculator

    4/44

    MACRO-URI REALIZATE IN VBAEXCEL prezinta facilitatea de a permite dezvoltarea de aplicatii complexe (macro-uri) utilizind limbajul de

    programare VBA (Visual Basic Application) o varianta a limbajului Visual Basic.In vederea scrierii unui macro trebuie sa fie activat editorul Visual Basic:

    In urma activarii editorului Visual Basic se deschide un ecran in care trebuie sa fie inserat un modul in caresa fie editata aplicatia:

    Prin inserarea modulului se poate incepe scrierea aplicatiilor. Cele mai curente aplicatii sunt de tipSubrutina:

    Sub NumeSubrutina

    4

  • 8/6/2019 Proiectare Asistata Pe Calculator

    5/44

    Numele subrutinei este dat de utilizator. Prin tastare Enter dupa nume editorul VBA introduce automatcomanda de incheiere a subrutinei:

    Intre cele doua instructiuni se introduc toate comenzile (instructiunile) care formeaza programul dorit.

    Numarul de subrutine care se pot scrie in cadrul unui modul nu este limitat. De asemenea, in cazul in care sedoreste o structurare a subrutinelor mai riguroasa se pot initializa mai multe Module prin aceleasi procedurica la inserarea primului modul.

    5

  • 8/6/2019 Proiectare Asistata Pe Calculator

    6/44

    .

    Un modul poate fi sters prin activarea lui (click mouse pe numele lui) urmata de comanda Removeactivata din meniul principal al editorului

    O structura generala a unei aplicatii inclusa intr-o subrutina este:

    1. Bloc pentru definirea marimii maxime a variabilelor de tip vector sau matrice utilizate in program

    2. Citirea datelor necesare programului din sheet-uri ale aplicatiei sau din fisiere externe

    3. Blocul de calcul in care se executa operatiile dorite specifice aplicatiei

    4. Scrierea datelor rezultate la punctul 3 in sheet -urile workbok-ului sau in fisiere externe .

    VARIABILE

    In cadrul unui program (subrutina, functie) realizat utilizind limbajul VBA ca Macro in EXCEL suntutilizate variabile in care se stocheaza informatia dorita.

    O prima clasificare a variabilelor este dupa numarul lor de componente: scalare, vectoriale, matriciale.

    6

  • 8/6/2019 Proiectare Asistata Pe Calculator

    7/44

    Variabilele se pot clasifica de asemenea dupa continutul lor in variabile numerice, de tip text sau mixte(variabile vectoriale sau matriciale in care elementele componente pot fi de tip text sau numar).

    Variabile scalareO variabila scalara are o singura componenta. Spre exemplu X = 1 atribuie variabilei denumite X valoarea 1.

    Variabilele vectorialeVariabilele vectoriale sunt utilizate atunci cind sub acelasi nume sunt stocate mai multe date organizate subforma de coloana sau rind.Spre exemplu stocarea intr-o singura variabila denumita CURS_Valutar a valorilor cursului Leu - $ dintr-un sir de zile se poate face atribuind variabilei dorite elemente diferite diferentiate prin valoarea inclusa intre

    paranteze, conform schemei prezentate in figura de mai jos. Transferul datelor din sheet in program se face printr-o secventa de instructiuni descrisa in capitolul de citire/scriere a datelor in sheet-uri ( Exemplul 2 )

    Pentru operarea cu variabile de tip vectorial trebuie sa fie definit la inceputul programului- numarul maximde valori care vor fi stocate (in cazul exemplului prezentat: 19) prin utilizarea instructiunii Dim:

    Dim CURS_Valutar(19)

    Variabile matricialeVariabilele matriciale indexeaza sub acelasi nume informatiile cuprinse in tabele care au mai multe coloane.In figura de mai jos este reprezentat modul in care poate fi stocata intr-o variabila matriciala X (definita incadrul unui Macro) valorile datei si cursurilor valutare Leu-$ si Leu-Euro incluse intr-un sheet EXCEL.Valorile prezentate in chenar reprezinta elementele de identificare a variabilei matriciale. Spre exemplu:X(1,1)=29.12.2004, X(1,2)=28919, s.a.m.d. Practic programul opereaza ca si cum cele doua tabele ar fisuprapuse: tabelul cu identificarea rindurilor si coloanelor la baza, strat peste care se afla cimpul de valori.Transferul datelor din sheet in program se face printr-o secventa de instructiuni descrisa in capitolul decitire/scriere a datelor in sheet-uri ( Exemplul 3 )

    7

  • 8/6/2019 Proiectare Asistata Pe Calculator

    8/44

    Pentru operarea cu variabile de tip matricial trebuie sa fie definit la inceputul programului- numarulmaxim de valori care vor fi stocate (in cazul exemplului prezentat: 19 rinduri si 3 coloane) prin utilizareainstructiunii Dim:

    Dim X(19,3)

    Variabile numericeO variabila numerica are ca valori numere care pot fi intregi (1,1001, 23456 etc.) sau zecimale (reprezentatin Simpla sau Dubla precizie)

    Variabile text

    O variabila text contine un sir de caractere (numerice sau alfabetice cu exceptia ghilimelelor). Caracterelevariabilei de tip text sunt stocate in aplicatiile VBA intre ghilimele (). Spre exemplu 12wer_s456, sdgfbje.

    Numele unei variabile de tip text (in cazul in care se doreste explicitarea tipului de variabila) trebuie sa seincheie cu simbolul $ (spre exemplu: a$, Text$). Variabilele de tip text pot fi supuse unor operatii decoincatenare sau segmentare in cadrul programelor realizate ca Macro-uri

    OPERATII CU SHEET-uri

    MODIFICAREA CARACTERISTICILOR ELEMENTELOR COMPONENTE

    Din interiorul unei aplicatii de tip VBA (Macro) pot fi comandate operatii pentru modificareacaracteristicilor elementelor componente: celule, rinduri, coloane.In acest scop este necesar in primul rind sa fie activat Sheet-ul ale carui elemente vor fi controlate prinaplicatie.

    Specificarea numelui sheet-ului din/in care se face citirea/scrierea datelor prin utilizarea comenzii: With ,urmata de specificarea obiectului asupra caruia se executa comanda: Sheets instantiat pentru numele sheet-ului dorit: Nume Sheet:

    With Sheets( Nume Sheet )

    Spre exemplu, daca sheet-ul in care se doreste citirea/scrierea datelor are numele Sheet1 atunciinstructiunea va avea forma:

    8

  • 8/6/2019 Proiectare Asistata Pe Calculator

    9/44

    With Sheets(Sheet1)

    Daca sheet-ul are numele Input atunci forma instructiunii va fi:

    With Sheets(Input)

    Pentru a numi sheet-urile dintr-o aplicatie vezi capitolul Modificarea numelui Sheet-urilor

    Numele sheet-ului poate fi specificat si prin intermediul unei variabile de tip text definita anterior in program. Astfel, secventa de instructiuni:

    a$ = InputWith Sheets(a$)

    va instantia sheet-ul Input. Avantajul unui astfel de mod de apelare il reprezinta flexibilitatea inconstructia variabilei de tip text.

    Instructiunea With se incheie cu instructiunea End With. Intre cele doua instructiuni trebuie inserate

    comenzile referitoare la manipularea elementelor componente ale sheet-ului (celule, rinduri, coloane):With Sheets( Nume Sheet )

    {Bloc de instructiuni}

    End With

    Celule

    Exista trei moduri de apelare si editare a caracteristicilor unei celule dintr-un sheet specificat :

    1. Folosind instructiunea With urmata de clasele de obiecte asupra careia se aplica: Pentru identificarea celulei ale carei caracteristici se editeaza, clasa de obiecte este Cells .

    Instantierea celulei dorite se face prin specificarea coordonatelor ei si anume: Rind siColoana :

    With Sheets ( NumeSheet )With Cells ( Rind , Coloana )

    {Bloc de instructiuni}

    End WithEnd With

    Rind este un numar sau variabila numerica care reprezinta rindul celulei care se citeste. Spreexemplu pentru celula A1 rindul este 1, pentru celula C5 rindul este 5.Coloana este un numar sau variabila numerica reprezinta numarul de ordine al coloaneicelulei care se citeste: pentru A numarul este 1, pentru B -2, C -3, s.a.m.d.In acest mod celula M5 va fi inclusa in instructiune sub forma .Cells(5,13), celula N7:.Cells(7,14), etc.

    Editarea caracteristicilor celulelor se face prin utilizarea claselor de obiecte corespunzatoare:Font pentru modificarea fontului, Interior pentru modificarea fundalului, NumberFormat

    9

  • 8/6/2019 Proiectare Asistata Pe Calculator

    10/44

    pentru tipul de informatii din celula (numere, text, etc). Modul de apelare a acestor clase deobiecte se bazeaza pe utilizarea caracterului . pentru legarea de clasa de obiecte ierarhicsuperioara (in acest caz Cells). Apelarea clasei de editare este urmata de specificarea tipuluide operatie care se executa. Exemplele urmatoare acopera cea mai mare parte a posibilitatilor de editare posibil de a fi controlate prin acest procedeu:

    o Textul din celula specificata prin Rind, Coloana din Sheet-ul NumeSheet este scris cucaractere ingrosate (bold):

    With Sheets ( NumeSheet )With