A program strukturálásának alapvető célja, hogy a programot fizikailag és / vagy logikailag szétbontható legyen apróbb, jól áttekinthető szegmensekre. A fizikai szétbontás, komplett eljárás-könyvtárként való kezelés lehetőségét adja. A logikai szétbontás elsősorban, a jobb olvashatóságot és tesztelhetőséget segíti. |
A VBA kétféle program strukturáló utasítást ismer: Eljárásokat és a Függvényeket Mindkettő képes a hívás helyén számára megadott információkat átvenni, azokon módosításokat is végezni. · Eljárások ( Szubrutinok), olyan önálló programok, melyek hívásuk céljából saját azonosító nevekkel rendelkeznek, és információk adás-vétele céljából kapcsolódási felülettel rendelkeznek. · Függvények, az Eljárásokhoz képest azzal a többlettudással rendelkeznek, hogy a Függvény_név változóban képesek az általuk előállított információkat a híváshelyére visszaadni. Így használatuk helyén operandusként, „adathordozóként” tud szerepelni. |
Az Eljárások specifikálására az eljárás-deklarációs utasítás szolgál, s ennek szintaxisa:
Sub <eljárás-név> (<változó-név> As <adat-típus>) <eljárás-törzs> End Sub |
A Sub kulcsszó utáni <eljárás-név> , a Subrutin-t nevesítő név, mely az angol ABC betűiből, - számokból állhat, - írásjelekből csak az aláhúzás „_” szerepelhet. |
Az <eljárás-név> utáni kerek zárójelek közötti rész a „formális paraméterek” listája. Elemei paraméterek, mert általuk az eljárás hívásakor a működést szabályozó információkat kapnak. „Formálisak” azért, mert tényleges változókká csak az eljárás meghívásakor válnak. |
A paraméterek a listába megadott nevű és adat-típusú „formális változok”, az <eljárás-törzs> utasításaiban használhatók, de tényleges értéket majd csak az eljárás használatakor( ...meghívásakor), az „eljárás-hívó” utasításokban megadott „aktuális” paraméterek értékeinek átvételével kapnak. |
A Sub eljárást hívó Call „eljárás-hívó” szintaxisa:
Call <eljárás-név> („aktuális” paraméterek listája) |
· az „aktuális– illetve a formális paraméter” listák elemeit vesszővel elválasztva kell írni.
· A hívásban szereplő aktuális– és deklarációban levő formális paraméterek megfeleltetése a listabeli pozíciójuk (s nem a nevük) alapján történik.
· Az <aktuális paraméterek listája> az eljárást hívó programban a híváshelyén látható változókat illetve kiértékelhető kifejezéseket tartalmazhat, de a formális paraméterek listájában, csak változó szerepelhet.
· Az „aktuális” és „formális” paraméterek lista megfelelő paramétereinek kompatibilisnek (egymásba átkonvertálhatónak) kell lenni.
· E paraméter átadási mód, a cím-szerinti paraméter-átadás. Ez azt jelenti, hogy átadáskor nem értékelődik ki a hívásbeli aktuális paraméter, hanem annak csak memória-területe (cime) rendelődik a formális paraméterhez. Ezáltal egy formális paraméterre történő hivatkozás (az <eljárás-törzs>-ben), valójában a neki megfelelő aktuális paraméterhez rendelt memóriaterületre történik. · |
Magyarázatok: |
Magyarázatok: |