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

Hatókör
Microsoft 365-höz készült Excel Microsoft 365-höz készült Mac Excel Excel 2024 Mac Excel 2024 Excel 2021 Mac Excel 2021 Excel 2019 Excel 2016 iPad Excel iPhone Excel Android-táblagépes Excel Android Excel

Fontos

Óvintézkedések A beállításjegyzék helytelen módosítása súlyos károkat okozhat az operációs rendszerben, ami a rendszer újratelepítését vonhatja maga után. 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 nem érhető el a Webes Excel-ben.

A témakör tartalma

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 teljesül:
unsigned short int *
unsigned short int *
dupla [ ]
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 unsigned char far *-ként kell deklarálnia.
  • 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 a Pascal kulcsszó függvénydeklarációhoz való hozzáadásával, az alábbi 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 módosíthatják a Microsoft Excel által lefoglalt 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. Ehelyett a Microsoft Excel 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 deklaráció double array[1] 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 a type_text argumentumként az ">O" betűt használhatja. 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 > karakterrel módosították helyben az első argumentumot; 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