Szövegdoboz: Szövegdoboz:  Subrutin hívások paraméter átadással. 
 Call parancs alkalmazással

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ó Calleljá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: