A HÍVÁS és a KÜLSŐ.FÜGGV függvény használata

Fontos : Vigyázat!    A beállításjegyzék helytelen módosítása súlyos károkat okozhat az operációs rendszerben, és előfordulhat, hogy újra kell azt telepíteni. A Microsoft nem garantálja, hogy a beállításjegyzék helytelen módosításából fakadó problémákat orvosolni lehet. A beállításjegyzék szerkesztése előtt készítsen biztonsági másolatot a fontos adatokról. A beállításjegyzék használatáról és védelméről a legfrissebb információt a Microsoft Windows súgója tartalmazza.

Ez a cikk a Microsoft Excel HÍVÁS, KÜLSŐ.FÜGGV és KÜLSŐ.AZONOSÍTÓ függvényének képletszintaxisát és használatát ismerteti.

Megjegyzés :  A HÍVÁS és a KÜLSŐ.FÜGGV függvény az Excel Online-ban nem érhető el.

A témakör tartalma

Leírás

Adattípusok

Megjegyzések

További adattípusokkal kapcsolatos információk

F és G adattípus

K adattípus

O adattípus

P adattípus

R adattípus – Microsoft Excel-függvények hívása DLL-ekből

Környezetfüggő függvények és újraszámítás

Módosítás helyben – Érték nélküliként deklarált függvények

Leírás

Az alábbiakban megtalálja az argumentum és a visszatérési érték HÍVÁS, KÜLSŐ.FÜGGV és KÜLSŐ.AZONOSÍTÓ függvény által használt adattípusainak leírását. Az argumentumok és a visszatérési értékek a működési környezettől függően enyhén eltérők lehetnek; ezeket a különbségeket jelezzük az adattípusok táblázatában.

Vissza a lap tetejére

Adattípusok

A HÍVÁS, a KÜLSŐ.FÜGGV és a KÜLSŐ.AZONOSÍTÓ függvényben a típus_szöveg argumentum adja meg a visszatérési érték és az összes argumentum adattípusát a DLL-függvény vagy a kódforrás számára. A típus_szöveg argumentum első karaktere a visszatérési érték adattípusát adja meg. A többi karakter az összes argumentum adattípusát jelzi. Egy olyan DLL-függvény esetén például, amely egy lebegőpontos számot ad vissza, és argumentumként egy egész számot és egy lebegőpontos számot használ, a típus_szöveg argumentumban szerepelnie kell a „BIB” karakterláncnak.

Az alábbi táblázatban az összes olyan adattípuskód szerepel, amelyet a Microsoft Excel felismer, továbbá az egyes adattípusok leírását is megtalálja, valamint tájékozódhat arról, hogy miként történik az argumentum vagy a visszatérési érték átadása, illetve megtekintheti, hogy milyen az adattípus tipikus deklarálása a C programozási nyelven.

Kód

Leírás

Átadás

C deklaráció

A

Logikai
(HAMIS = 0), IGAZ = 1)

Érték

short int

B

IEEE 8 bájtos lebegőpontos szám

Érték
(Windows)

Hivatkozás (Macintosh)

double
(Windows)

double * (Macintosh)

C

Nullra végződő karaktersorozat (maximális hossz = 255 karakter)

Hivatkozás

char *

D

Bájtokban számolt karaktersorozat (az első bájt tartalmazza a karaktersorozat hosszát, maximális hossz = 255 karakter)

Hivatkozás

Unsigned char *

E

IEEE 8 bájtos lebegőpontos szám

Hivatkozás

double *

F

Nullra végződő karaktersorozat (maximális hossz = 255 karakter)

Hivatkozás (módosítás helyben)

char *

G

Bájtokban számolt karaktersorozat (az első bájt tartalmazza a karaktersorozat hosszát, maximális hossz = 255 karakter)

Hivatkozás (módosítás helyben)

unsigned char *

H

Aláíratlan 2 bájtos egész szám

Érték

unsigned short int

I

Aláírt 2 bájtos egész szám

Érték

short int

J

Aláírt 4 bájtos egész szám

Érték

long int

K

Tömb

Hivatkozás

FP *

L

Logikai
(HAMIS = 0, IGAZ = 1)

Hivatkozás

short int *

M

Aláírt 2 bájtos egész szám

Hivatkozás

short int *

N

Aláírt 4 bájtos egész szám

Hivatkozás

long int *

O

Tömb

Hivatkozás

Három argumentum átadása történik meg:
unsigned short int *
unsigned short int *
double [ ]

P

Microsoft Excel OPER adatstruktúra

Hivatkozás

OPER *

R

Microsoft Excel XLOPER adatstruktúra

Hivatkozás

XLOPER *

Vissza a lap tetejére

Megjegyzések

  • A C nyelvű deklarálások azon a feltételezésen alapulnak, hogy az Ön fordítója alapértelmezés szerint 8 bájtos duplaértékeket, 2 bájtos rövid egész számokat és 4 bájtos hosszú egész számokat használ.

  • A Microsoft Windows programozási környezetében minden mutató távoli mutató. Microsoft Windows rendszerben például a D adattípus kódját a következőképpen kell deklarálnia: unsigned char far*.

  • A DLL-ekben és a kódforrásokban lévő összes függvény a Pascal hívási konvenciót használja. A legtöbb C-fordító lehetővé teszi a Pascal hívási konvenció használatát. Ehhez fel kell vennie a Pascal kulcsszót a függvény deklarációjába, a következő példában látható módon: pascal void main (rows,columns,a)

  • Ha egy függvény olyan adattípust használ visszatérési értékként, amely hivatkozás útján adja át az elemeket, nullmutatót is átadhat visszatérési értékként. A Microsoft Excel a nullmutatót a #SZÁM! hibaértékként fogja értelmezni.

Vissza a lap tetejére

További adattípusokkal kapcsolatos információk

Ez a szakasz részletes információkat tartalmaz az F, G, K, O, P és R adattípusokról, és más adatokat a típus_szöveg argumentumról.

F és G adattípus

Az F és a G adattípussal a függvények képesek módosítani a Microsoft Excel által fenntartott karakterláncpuffereket. Ha a visszatérési érték típuskódja F vagy G, akkor a Microsoft Excel figyelmen kívül hagyja a függvény által visszaadott értéket, és helyette a függvényargumentumok listájában keresi az első megfelelő adattípust (F vagy G), majd a fenntartott karakterláncpuffer aktuális tartalmát használja visszatérési értékként. A Microsoft Excel 256 bájtot tart fenn az argumentumnak, ezért a függvény a kapottnál hosszabb karakterláncot adhat vissza.

Vissza a lap tetejére

K adattípus

A K adattípus egy változó méretű FP struktúrára mutató mutatót használ. Ezt a struktúrát a következőképpen kell definiálnia a DLL-ben vagy a kódforrásban:

typedef struct _FP
{
unsigned short int rows;
unsigned short int columns;
double array[1]; /* Actually, array[rows][columns] */
} FP;

A double array[1] deklaráció csak egy egyetlen elemből álló tömb számára tart fenn elegendő tárhelyet. A tényleges tömbben lévő elemek száma a sorok és az oszlopok számának szorzatával egyenlő.

Vissza a lap tetejére

O adattípus

Az O adattípus kizárólag argumentumként használható, visszatérési értékként nem. Három elemet ad át: egy mutatót egy tömbben lévő sorok számára, egy mutatót egy tömbben lévő oszlopok számára, valamint egy mutatót lebegőpontos számokból álló kétdimenziós tömbre.

Érték visszaadása helyett a függvények módosíthatják az O adattípus által átadott tömböket. Ehhez típus_szöveg argumentumként a következőt használhatja: ">O". További információt az alábbi, „Módosítás helyben – Érték nélküliként deklarált függvények” című részben talál.

Az O adattípus úgy lett kialakítva, hogy közvetlenül kompatibilis legyen a Fortran DLL-ekkel, amelyek hivatkozás útján adják át az argumentumokat.

Vissza a lap tetejére

P adattípus

A P adattípus egy OPER struktúrára mutató mutató. Az OPER struktúra 8 bájtnyi adatot tartalmaz, és egy 2 bájtos azonosító követi, amelyik megadja az adat típusát. A P adattípussal a DLL-függvények vagy kódforrások bármilyen Microsoft Excel-adattípus felvételére és visszaadására képesek.

Az OPER struktúra definíciója az alábbi:

typedef struct _oper

{
union
{
double num;
unsigned char *str;
unsigned short int bool;
unsigned short int err;
struct
{
struct _oper *lparray;
unsigned short int rows;
unsigned short int columns;
} array;
} val;
unsigned short int type;
} OPER;

A típusmező ezen értékek egyikét tartalmazza.

Típus

Leírás

Használandó értékmező

1

Numerikus

num

2

Karakterlánc (az első bájt tartalmazza a karakterlánc hosszát)

str

4

Logikai

bool

16

Hiba: a hibaértékek a következők:

0#NULLA!

7#ZÉRÓOSZTÓ!

15#ÉRTÉK!

23#HIV!

29#NÉV?

36#SZÁM!

42#HIÁNYZIK

err

64

Tömb

array

128

Hiányzó argumentum

256

Üres cella

Az utolsó két érték csak argumentumként használható, visszatérési értékként nem. A hiányzó argumentum értékét (128) akkor adja át a program, ha a hívó kihagy egy argumentumot. Az üres cella értékét (256) akkor adja át a program, ha a hívó egy üres cellának ad át egy hivatkozást.

Vissza a lap tetejére

R adattípus – Microsoft Excel-függvények hívása DLL-ekből

Az R adattípus egy XLOPER struktúrára mutató mutató, amely az OPER struktúra továbbfejlesztett változata. A Microsoft Excel 4.0-s és újabb verzióiban az R adattípussal Microsoft Excel-függvényeket meghívó DLL-eket és kódforrásokat írhat. Az XLOPER struktúrával a DLL-függvények az adatok átadásán kívül laphivatkozásokat adhatnak át és folyamatirányítást is implementálhatnak. Az R adattípusnak és a Microsoft Excel alkalmazásprogramozási felületének (API) teljes körű leírása túlmutat a jelen témakör hatókörén. A Microsoft Office XP Developer's Guide című fejlesztői útmutató részletes információkkal szolgál az R adattípusról, a Microsoft Excel API-járól, valamint a Microsoft Excel számos más technikai jellemzőjéről.

Vissza a lap tetejére

Környezetfüggő függvények és újraszámítás

A Microsoft Excel általában csak akkor számít ki egy DLL-függvényt (vagy kódforrást), amikor azt beírják egy cellába, amikor megváltozik annak egyik előzménye, illetve amikor a cellát egy makró futása során számítják ki. Egy munkalapon környezetfüggővé tehet egy DLL-függvényt vagy kódforrást, ami azt jelenti, hogy annak újraszámítása a munkalap újraszámításakor minden alkalommal megtörténik. Ha környezetfüggővé szeretne tenni egy függvényt, vegyen fel egy felkiáltójelet (!) a típus_szöveg argumentum utolsó karaktereként.

A Windows Microsoft Excelben például a következő munkalapképlet a munkalap újraszámításakor minden alkalommal újraszámítódik:

HÍVÁS("Kernel32","GetTickCount","J!")

Vissza a lap tetejére

Módosítás helyben – Érték nélküliként deklarált függvények

A típus_szöveg argumentum visszatérési értékeként egy egy számjegyű számot (n) használhat, ahol n értéke 1 és 9 között lehet. Ez jelzi a Microsoft Excelnek, hogy egy érték visszaadása helyett módosítania kell az azon a helyen lévő változót, amelyre a típus_szöveg n-edik argumentuma mutat. Ezt másként helyben történő módosításnak is hívják. Az n-edik argumentumnak olyan adattípusnak kell lennie, amely hivatkozás útján adja át az elemeket (C, D, E, F, G, K, L, M, N, O, P vagy R). A DLL-függvényt vagy kódforrást is deklarálni kell a void kulcsszóval C nyelven (vagy a porcedure kulcsszóval Pascal nyelven).

Egy nullával végződő karakterláncot és argumentumként a számokra két mutatót fogadó DLL-függvény például módosíthatja helyben a karakterláncot. Használja az "1FMM" karakterláncot típus_szöveg argumentumként, és deklarálja érték nélküliként a függvényt.

A Microsoft Excel 4.0-snál korábbi verziói a > karaktert használták az első argumentum helyben történő módosításához; az elsőn kívül más argumentum módosítására nem volt lehetőség. A > karakter megfelelője a Microsoft Excel 4.0-s és újabb verzióiban az n = 1.

Vissza a lap tetejére

Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×