Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 8. előadás.

Slides:



Advertisements
Hasonló előadás
Információs függvények
Advertisements

Adatbázisrendszerek elméleti alapjai 2. előadás
Visual Basic for Application (VBA)
C++ programozási nyelv Gyakorlat hét
LFüggvények Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 20./0. lFüggvények deklarációja és prototípusa lA függvénydefiníció lHivatkozás.
Gyakori hibák C# programozásban
Adatbázisrendszerek elméleti alapjai 6. előadás
Adatbázisrendszerek elméleti alapjai 5. előadás
Programozási alapismeretek 7. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 7. előadás2/  Sorozatszámítás.
Sztringek.
Bevezetés a Java programozásba
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
Máté: Orvosi képfeldolgozás1. előadás1. Máté: Orvosi képfeldolgozás1. előadás2 A leképezés fizikai alapjai Fény, fénykép, mikroszkóp Röntgen sugárzás.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 5. Gyakorlat Öröklődés, virtuális függvények,
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Tömbök ismétlés Osztályok Java-ban Garbage collection
Függvények, mutatók Csernoch Mária.
Mutatók, tömbök, függvények
C A C nyelv utasításai. Ismétlés Utasítások csoportosítása.
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Fuzzy halmazok. 4. előadás2 3 4 Egy hagyományos halmazEgy Fuzzy halmaz.
Programozás I Függvények általános jellemzői
Microsoft Excel Függvények VII..
P ROGRAMOZÁS I/O műveletek. S YSTEM.C ONSOLE A programjainknak fontos része a felhasználóval való kommunikáció. Adatokat kell kérni tőle, vagy közölnünk.
C nyelv utasításai.
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Összetett adattípusok
Beolvasó utasítás Console.Read();  Int típusú adatot kapunk. Console.ReadLine();  String típusú adatot kapunk. Console.ReadKey();  Tetszőleges billentyű.
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Visual Basic 2008 Express Edition
Java programozási nyelv Metódusok
Objektum orientált programozás 3. Függvények Nagy Szilvia.
Objektum orientált programozás
1 Objektum orientált programozás Öröklődés: többszörös öröklődés, konstruktorok, destruktorok, overloading Nagy Szilvia.
Turócziné Kiscsatári Nóra
Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK
A Visual Basic nyelvi elemei
Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK
Osztott adatbázisok.  Gyors ismétlés: teljes redukáló  Teljes redukáló költsége  Természetes összekapcsolások vetítése  Természetes összekapcsolások.
Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás.
Bekezdések formázása 1..
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 5. előadás.
Pénzügyi feladatok VBA támogatása Barna Róbert KE GTK
Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú,
C Programozási alapok.
Programozás III KIVÉTEL. KIVÉTELKEZELÉS Hibátlan program nincs!!! eddig hiba esetén leállt a program. Példa ilyen hibákra: ─ ArrayBoundsOfException (tömb.
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 3. előadás.
Makró készítés Excelben
Gazdasági informatikus - Szövegszerkesztés 1 Bekezdések formázása 2.
A 2. géptermi beszámoló VBA anyagának összefoglalása
Grafikus programozás Készítette: Csernok László
Excel programozás (makró)
1 Függvények használata – az első függvénynél a formulát háromszor be kell írni, rendre az x, x+h, x-h argumentumokkal, – a második függvénynél az új (feltételes.
Az 5,6,7 laborok VBA anyagának összefoglalása
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
Lekérdezések Adott tulajdonságú adatok listázásának módja a lekérdezés. A lekérdezések segítségével az adatbázisból megjeleníthetjük, módosíthatjuk, törölhetjük.
Excel programozás (makró)
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Informatikai gyakorlatok 11. évfolyam
Algoritmus készítés.
Előadás másolata:

Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 8. előadás

Vezérlő utasítások Ugró utasítások Tilos! Kivéve a hibakezelést. Ha a rutin elején (de mindenesetre a hibát eredményező utasítássor előtt) kiadjuk az On Error Goto címke hibakezelő utasítást, akkor futási hiba esetén a vezérlés a rutinon belüli címkét tartalmazó (ha ez üres, a következő) sorra kerül, ahol a saját hibaelemző utasításcsoport található. Pénzügyi feladatok VBA támogatása – 8. előadás3 /45

Vezérlő utasítások Ugró utasítások Címke: Sor elején álló [ ] intervallumba eső sorszám, vagy betűkből és számokból álló, kettősponttal lezárt tetszőleges karaktersorozat. Pénzügyi feladatok VBA támogatása – 8. előadás4 /45

Vezérlő utasítások Ugró utasítások A hibaelemző utasításcsoportból a Resume illetve Resume Next utasítással térhetünk vissza a hibát okozó, illetve az azt követkő utasításra. Pénzügyi feladatok VBA támogatása – 8. előadás5 /45

Vezérlő utasítások Megszakító utasítások A rutinok futását két utasítással tudjuk megszakítani: Stop: felfüggeszti az aktuális rutin futását és megszakított üzemmódot állít be, amelyben lehetőség van a nyomkövetésre; End: befejezi a program futását. Pénzügyi feladatok VBA támogatása – 8. előadás6 /45

Vezérlő utasítások Megszakító utasítások Mindkét utasítást csak a belövés során szabad használni! Mindkettő hátránya, hogy fixen a programban marad, a hibátlan változatból el kell távolítani. Pénzügyi feladatok VBA támogatása – 8. előadás7 /45

Vezérlő utasítások Megszakító utasítások Megszakított üzemmód beállítására célszerűbb töréspontokat elhelyezni, mert ezek törlődnek, amikor az állományt bezárjuk. A töréspont egy kijelölt programsor, amelynek elérésekor felfüggesztődik a makró futása, de kézzel tovább indítható. Pénzügyi feladatok VBA támogatása – 8. előadás8 /45

Vezérlő utasítások Rutinhívó utasítások A rutinhívás egy rutin aktiválását, vagyis elindítását és lefuttatását jelenti, amikor is meg kell adni a rutinfejben deklarált formális paramétereknek megfelelő aktuális paramétereket Pénzügyi feladatok VBA támogatása – 8. előadás9 /45

Vezérlő utasítások Rutinhívó utasítások A VBA számára minden munkafüzet egy projekt. A VBA létrehozáskor minden objektumnak automatikusan ad egy hivatkozási nevet (Name), amely utal az objektum típusára, és tartalmaz egy egyedi sorszámot. Ezen kívül a legtöbb objektumnak van felirata (Caption) is, amelyet a továbbiakban „becenév”-ként fogunk említeni. (adatázisban a mezőnek neve és címe van) Pénzügyi feladatok VBA támogatása – 8. előadás10 /45

Vezérlő utasítások Rutinhívó utasítások Például a munkafüzet lapjainak hivatkozási neve Munkan [Sheetn], ahol n egyedi sorszám. Induláskor, illetve beszúráskor ez egyben a munkalapok beceneve is. A munkafüzetek kivételek: mindegyikük hivatkozási neve VBAProjekt és becenévként zárójelben az állománynevük szerepel. Pénzügyi feladatok VBA támogatása – 8. előadás11 /45

Vezérlő utasítások Rutinhívó utasítások Az objektumokat a rutinokban hivatkozási nevükkel (Name) azonosítjuk. Amikor azonban az objektumokat megjelenítjük, nem ezt látjuk, hanem a becenevüket (Caption). Pénzügyi feladatok VBA támogatása – 8. előadás12 /45

Vezérlő utasítások Rutinhívó utasítások Az objektumokat a rutinokban hivatkozási nevükkel (Name) azonosítjuk. Amikor azonban az objektumokat megjelenítjük, nem ezt látjuk, hanem a becenevüket (Caption). VB-nézetben, az objektum kijelölése után mindkét nevet tetszőlegesen megváltoztathatjuk a Tulajdonságok [Properties] ablakban. Pénzügyi feladatok VBA támogatása – 8. előadás13 /45

Vezérlő utasítások Rutinhívó utasítások Eljárás hívása: [projektnév.][objektumnév.] eljárásnév [a_parlista] Call [projektnév.][objektumnév.] eljárásnév [(a_parlista)] Pénzügyi feladatok VBA támogatása – 8. előadás14 /45

Vezérlő utasítások Rutinhívó utasítások Eljárás hívása: Eljárásokat egyszerűen nevük leírásával vagy Call kulcsszóval lehet meghívni. Pénzügyi feladatok VBA támogatása – 8. előadás15 /45

Vezérlő utasítások Rutinhívó utasítások Eljárás hívása: Ha csak nevével hívjuk meg az eljárást: az aktuális paramétereket csak fel kell sorolni (sorrend és típus betartásával!); ilyenkor a zárójeleket tilos kitenni; ha az eljárásnak nincs formális paramétere, tilos kitenni az „üres” zárójelpárt. Pénzügyi feladatok VBA támogatása – 8. előadás16 /45

Vezérlő utasítások Rutinhívó utasítások Eljárás hívása: Ha az eljárást Call kulcsszóval hívjuk: a paraméterlistát kötelező zárójelbe tenni; ha az eljárásnak nincs formális paramétere, az „üres” zárójelpárt ki lehet tenni, de a VBE (Visual Basic Editor) automatikusan letörli. Pénzügyi feladatok VBA támogatása – 8. előadás17 /45

Vezérlő utasítások Rutinhívó utasítások Függvény hívása: {[változánév =|Call]} [projektnév.] [objektumnév.]függvénynév[(a_parlista)] Pénzügyi feladatok VBA támogatása – 8. előadás18 /45

Vezérlő utasítások Rutinhívó utasítások Függvény hívása: Ha függvényként kívánjuk aktiválni, a függvény névnek értékadó utasítás jobb oldalán vagy kifejezés tényezőjeként kell szerepelnie és az aktuális paraméterlistát zárójelek között kell felsorolni; ha a függvénynek nincs formális paramétere, az „üres” zárójelpárt ki lehet tenni, de a VBE automatikusan letörli. Pénzügyi feladatok VBA támogatása – 8. előadás19 /45

Vezérlő utasítások Rutinhívó utasítások Függvény hívása: Ha egy függvényt Call kulcsszóval hívunk meg, az eljáráshívási szabályokat kell alkalmazni. Ilyenkor a függvény eljárásként működik, és visszatérési értéke elveszik. Pénzügyi feladatok VBA támogatása – 8. előadás20 /45

Vezérlő utasítások Rutinhívó utasítások Mivel a rutinok alapértelmezésben nyilvánosak ( Public ), az egy munkafüzetben levő, vagyis egy projekthez tartozó rutinok „látják” egymást. Így hívásukkor az objektumnév elhagyható; természetesen csak akkor, ha a munkafüzetben minden rutinnak egyedi neve van. Különböző modul- és kódlapokon levő, azonos nevű rutinok hívásakor meg kell adni a rutint tartalmazó objektum (modul-, illetve munkalap vagy párbeszédlap) hivatkozási nevét is. Pénzügyi feladatok VBA támogatása – 8. előadás21 /45

Vezérlő utasítások Rutinhívó utasítások Más projekthez tartozó (másik munkafüzetben levő) rutint csak akkor lehet meghívni, ha az aktív munkafüzet hivatkozási kapcsolatban van a meghívandó rutint tartalmazóval. Pénzügyi feladatok VBA támogatása – 8. előadás22 /45

Vezérlő utasítások Rutinhívó utasítások Ilyen kapcsolatot VB-nézetben a Hivatkozások [References] ablakban (Eszközök→Hivatkozások [Tools→ References] menü) lehet létrehozni úgy, hogy a Létező hivatkozások [Available References] listamezőben bekapcsoljuk a kívánt állomány neve melletti kijelölőt. Nem lehet természetesen hozzáférni olyan rutinokhoz, amelyek Option Private Module direktívával védett modullapokon vannak. Pénzügyi feladatok VBA támogatása – 8. előadás23 /45

Vezérlő utasítások Pénzügyi feladatok VBA támogatása – 8. előadás24 /45

Vezérlő utasítások Rutinhívó utasítások Nem lehet természetesen hozzáférni olyan rutinokhoz, amelyek Option Private Module direktívával védett modullapokon vannak. Ha a keresett állománynév nem látható, a Tallózás [Browse] gomb segítségével kell megkeresni, és felvenni a listába. A listában szereplő egyéni állományneveket úgy lehet eltüntetni, hogy töröljük a saját kijelölőjüket, és így zárjuk be a rájuk hivatkozó állományt. Pénzügyi feladatok VBA támogatása – 8. előadás25 /45

Vezérlő utasítások Rutinhívó utasítások Szögletes zárójelbe kell tenni a hivatkozási neveket, ha betűkön, számokon és alsó kötőjeleken kívül más karaktereket (például pontot) is tartalmaznak! Egyébként ez a szögletes zárójel kiírható, de el is hagyható. (Nem összetévesztendő a [nem kötelező] megadásával.) Pénzügyi feladatok VBA támogatása – 8. előadás26 /45

Vezérlő utasítások Rutinhívó utasítások Ha a rutin neve egyedi az egész alkalmazásban, hívásakor sem a projektnevet, sem az objektumnevet nem kell kiírni; ha saját munkafüzetében egyedi, elegendő a projektnév kiírása; különben mindkét nevet meg kell adni, szükség esetén szögletes zárójelben. Pénzügyi feladatok VBA támogatása – 8. előadás27 /45

Vezérlő utasítások Rutinhívó utasítások Ha megváltoztatjuk egy állomány nevét, ettől a projekt hivatkozási neve nem változik meg, a rutinjaira vonatkozó külső hívások érvényben maradnak. Ha azonban a Tulajdonságok [Properties] ablakban átírjuk a hivatkozási nevet, ezt a VBE a rutinokban nem követi; s természetesen ugyanez érvényes a modul-, munka- és párbeszédlapok nevére is. Ezért kerülni kell a közvetlen név-hivatkozásokat; más szóval használjunk egyedi rutinneveket. Pénzügyi feladatok VBA támogatása – 8. előadás28 /45

Vezérlő utasítások Rutinhívó utasítások Programozási szempontból a metódusok is rutinok, ezért a rutinhívási szabályok rájuk is érvényesek! Lehetne, mégsem szokás ezeket Call kulcsszóval meghívni. Az eljárás-metódusokat rendszerint nevük leírásával aktiváljuk, a függvény-metódusok pedig legtöbbször értékadó kifejezés jobboldalán szerepelnek. Az első esetben tilos, a másodikban kötelező zárójelek között megadni a paramétereIket ha ilyenek vannak. Pénzügyi feladatok VBA támogatása – 8. előadás29 /45

Vezérlő utasítások Rutinhívó utasítások Egy eljárást a GoSub eljárásnév utasítással is lehet aktiválni. Ez esetben a hívott eljárásból Return utasítással kell kilépni. Mivel ez a mód idegen a moduláris programozástól, nem használjuk. Pénzügyi feladatok VBA támogatása – 8. előadás30 /45

Vezérlő utasítások Rutinhívó utasítások Paraméter-átadás: Az aktuális paraméterlista ( a_parlista ) változók és/vagy kifejezések vesszővel elválasztott felsorolása. Itt és a továbbiakban kifejezésen az eddigieken túlmenően tulajdonságokat is értünk. Pénzügyi feladatok VBA támogatása – 8. előadás31 /45

Vezérlő utasítások Rutinhívó utasítások Paraméter-átadás (emlékeztető): Az aktuális paraméterek számának és típusának - a megfelelő sorrendben - általában meg kell egyeznie a formális paraméterekével. (E tekintetben mindegy, hogy a formális paraméterek ByRef vagy ByVal módúak-e.) Az Optional, illetve a Paramarray kulcsszóval deklarált formális paraméterek kivételek (később részletesebben). Pénzügyi feladatok VBA támogatása – 8. előadás32 /45

Vezérlő utasítások Rutinhívó utasítások Paraméter-átadás: Ha a formális paraméterre nevével hivatkozunk az fparnév := kifejezés szintaxis szerint, akkor a hívási sorrend közömbös. Általában így járunk el a metódusoknál mivel sok paraméterük lehet, és ezek sorrendjét nem ismerjük mindig pontosan. Pénzügyi feladatok VBA támogatása – 8. előadás33 /45

Vezérlő utasítások Rutinhívó utasítások Ha a formális paraméter Variant típusú, a megfelelő aktuális paraméter bármilyen típusú kifejezés, karakterlánc vagy (akár több dimenziós) tömb is lehet; az utóbbi esetben a sorok elemeit vessző, a sorokat pontosvessző választja el. Pénzügyi feladatok VBA támogatása – 8. előadás34 /45

Vezérlő utasítások Rutinhívó utasítások Az elvárt egyezéseket a fordító ellenőrzi. Ha a formális és az aktuális paraméter típusa nem egyezik meg, azt a fordító jelzi. A típusváltást kikényszeríthetjük úgy, hogy az aktuális paramétert zárójelbe tesszük. Ám ha a típusok nem illeszthetők, szintaktikai hiba keletkezik. Pénzügyi feladatok VBA támogatása – 8. előadás35 /45

Vezérlő utasítások Rutinhívó utasítások A fordító a futás során (majd) keletkező túlcsordulásokat (előre) nem tudja kezelni! Ha például egy Byte típusú formális paraméterre rákényszerítettünk egy Long típusú aktuális paramétert, és futáskor az utóbbi értéke kívül esik a byte határokon, rutinunk futási hibával elakad. Pénzügyi feladatok VBA támogatása – 8. előadás36 /45

Vezérlő utasítások Rutinhívó utasítások Az optional kulcsszóval deklarált, feltételes formális paraméterek helyén nem kötelező aktuális paramétert megadni. Előfordulásukat a rutinban az IsMissing (fparnév) függvénnyel lehet vizsgálni, amely True logikai értéket ad, ha az aktuális paraméter hiányzik. Pénzügyi feladatok VBA támogatása – 8. előadás37 /45

Vezérlő utasítások Rutinhívó utasítások A ParamArray kulcsszóval tömbnek deklarált formális paraméter esetében mivel a hozzá tartozó aktuális paraméterek száma retszőleges. A kötelezően Variant típusú formális tömböt ebben az esetben valamelyik For ciklussal lehet feldolgozni. Erre kétféle módszer kínálkozik: Pénzügyi feladatok VBA támogatása – 8. előadás38 /45

Vezérlő utasítások Rutinhívó utasítások Ha egydimenziós tömböt várunk, a For cv = 1 To Ubound(formális tömb) ciklusban a formális_tömb (cv) szimbólummal lehet egyenként előhívni a tömbelemeket. Az Ubound függvény ugyanis visszaadja a megadott aktuális tömb felső határát. Pénzügyi feladatok VBA támogatása – 8. előadás39 /45

Vezérlő utasítások Rutinhívó utasítások A tömb dimenziószámától függetlenül, mindig előhívhatók az elemei a For Each elem In formális tömb ciklussal, amelyben a lokálisan deklarált, Variant típusú elem változó rendre (sorfolytonosan) felveszi az aktuális tömb elemeinek értékét. Pénzügyi feladatok VBA támogatása – 8. előadás40 /45

Vezérlő utasítások Rutinhívó utasítások Függvény visszatérési értéke A függvény típusát (visszatérési értékének típusát) deklarálásakor kellett, illetve lehetet megadni As kulcsszóval; ha ez nem történt meg, az alapértelmezett típust vette fel. Pénzügyi feladatok VBA támogatása – 8. előadás41 /45

Vezérlő utasítások Rutinhívó utasítások Függvény visszatérési értéke A függvény-rutin törzsében legalább egy olyan értékadó utasításnak kell szerepelnie, amelynek bal oldalán a függvény neve áll. Ha a futás során egyetlen ilyen utasítás sem hajtódik végre, a függvény a típusától függő „üres” kezdőértékkel tér vissza. Pénzügyi feladatok VBA támogatása – 8. előadás42 /45

Vezérlő utasítások Rutinhívó utasítások Függvény visszatérési értéke A String típusú függvény karakterláncot ad vissza, amelynek legnagyobb hossza 255 karakter. A Variant típusú függvény visszatérési értéke bármilyen típusú változó (akár String is) lehet, de amit más típusok nem „tudnak”: bármilyen típusú tömb vagy hibaérték is megengedett. Pénzügyi feladatok VBA támogatása – 8. előadás43 /45

Vezérlő utasítások Rutinhívó utasítások Függvény visszatérési értéke Ha nincs szükség a visszaadott értékre, a függvények ( Call kulcsszóval) eljárásként is meghívhatók, az eljárásokra vonatkozó hívási és paraméterátadási szabályok szerint. Pénzügyi feladatok VBA támogatása – 8. előadás44 /45

Köszönöm a figyelmet! Folyt köv.