Applies ToExcel pro Microsoft 365 Excel pro Microsoft 365 pro Mac Excel pro web Excel 2024 Excel 2024 pro Mac Excel 2021 Excel 2021 pro Mac Excel 2019 Excel 2016 Excel pro iPad Excel pro iPhone Excel pro tablety s Androidem Excel pro telefony s Androidem

Důležité informace:  Upozornění:    Nesprávné použití programu Editor registru může způsobit vážné potíže, k jejichž odstranění může být nutné přeinstalovat operační systém. Společnost Microsoft nezaručuje, že potíže způsobené chybným použitím programu Editor registru mohou být odstraněny. Před úpravami registru zazálohujte cenná data. Nejnovější informace o použití a ochraně registru počítače naleznete v nápovědě pro systém Microsoft Windows.

Tento článek popisuje syntaxi vzorce a použití funkcí VOLAT, PŘIHLÁSIT a PŘIHLÁSIT.ID v Microsoft Excelu.

Poznámka:  Funkce VOLAT a PŘIHLÁSIT nejsou dostupné v aplikaci Excel pro web.

V tomto článku

Popis

V následující části je popsán argument a datové typy návratových hodnot funkcí CALL, REGISTER a REGISTER.ID. Argumenty a návratové hodnoty se v závislosti na vašem operačním prostředí mírně liší. Tyto rozdíly jsou uvedeny v tabulce datových typů.

Začátek stránky

Datové typy

Argument typ funkcí VOLAT, PŘIHLÁSITPŘIHLÁSIT.ID určuje typ návratové hodnoty a typy všech argumentů funkce knihovny DLL nebo zdroje kódu. První znak tohoto argumentu typ určuje datový typ návratové hodnoty. Ostatní znaky určují datové typy jednotlivých argumentů. Například funkce knihovny DLL, která vrací číslo s plovoucí desetinnou čárkou a jejímiž vstupními argumenty jsou celé číslo a číslo s plovoucí desetinnou čárkou, by měla mít argument typ vyjádřený jako BIB.

Následující tabulka uvádí seznam všech kódů datových typů rozpoznávaných aplikací Microsoft Excel včetně popisu každého z nich, způsob předání argumentu nebo návratové hodnoty a obvyklé deklarace příslušného datového typu v programovacím jazyce C.

Kód

Popis

Předávání

Deklarace v jazyce C

A

Logická(NEPRAVDA = 0, PRAVDA = 1)

Hodnota

short int

B

IEEE 8bajtové číslo s plovoucí desetinnou čárkou

hodnotou(Windows)

odkazem (Macintosh)

double(Windows)

double * (Macintosh)

C

Řetězec zakončený nulou (maximální délka řetězce je 255 znaků)

odkazem

char *

D

Pascalský řetězec (první bajt obsahuje délku řetězce, maximální délka řetězce je 255 znaků)

odkazem

Unsigned char *

E

IEEE 8bajtové číslo s plovoucí desetinnou čárkou

odkazem

double *

F

Řetězec zakončený nulou (maximální délka řetězce je 255 znaků)

odkazem (změna v místě)

char *

G

Pascalský řetězec (první bajt obsahuje délku řetězce, maximální délka řetězce je 255 znaků)

odkazem (změna v místě)

unsigned char *

H

2bajtové celé číslo bez znaménka

Hodnota

unsigned short int

I

2bajtové celé číslo

Hodnota

short int

J

4bajtové celé číslo

Hodnota

long int

K

Pole

odkazem

FP *

L

Logická(NEPRAVDA = 0, PRAVDA = 1)

odkazem

short int *

M

2bajtové celé číslo

odkazem

short int *

N

4bajtové celé číslo

odkazem

long int *

O

Pole

odkazem

Předávají se tři argumenty:unsigned short int *unsigned short int *double [ ]

P

Datová struktura OPER aplikace Microsoft Excel

odkazem

OPER *

R

Datová struktura XLOPER aplikace Microsoft Excel

odkazem

XLOPER *

Začátek stránky

Poznámky

  • Deklarace v jazyce C vycházejí z předpokladu, že překladač používá standardně 8bajtový typ double, 2bajtový typ short integer a 4bajtový typ long integer.

  • V programovacím prostředí Microsoft Windows jsou všechny ukazatele typu far pointer. Kód datového typu D by například měl být v systému Microsoft Windows deklarován jako unsigned char far*.

  • Všechny funkce v knihovnách DLL a zdrojích kódu se volají způsobem obvyklým v programovacím jazyce Pascal. Většina překladačů jazyka C tento způsob volání umožňuje, když se do deklarace funkce přidá klíčové slovo pascal, jak ukazuje následující příklad: pascal void main (rows,columns,a)

  • Pokud funkce pro svou návratovou hodnotu používá datový typ s předáváním odkazem, může vracet i nulový ukazatel (null pointer). Microsoft Excel jej bude interpretovat jako chybovou hodnotu #ČÍSLO! .

Začátek stránky

Další informace o datových typech

Tato část obsahuje podrobné informace o datových typech F, G, K, O, P a R a další informace o argumentu typ.

Datové typy F a G

U datových typů F a G může funkce změnit obsah vyrovnávací paměti řetězce, kterou přidělil Microsoft Excel. Pokud je kód typu návratové hodnoty F nebo G, Microsoft Excel ignoruje hodnotu vrácenou funkcí. Místo toho hledá v seznamu argumentů funkce první odpovídající datový typ (F nebo G) a pak vezme aktuální obsah přidělené vyrovnávací paměti řetězce jako návratovou hodnotu. Microsoft Excel přidělí pro argument 256 bajtů, takže funkce může vrátit větší řetězec, než který přijala.

Začátek stránky

Datový typ K

Datový typ K používá ukazatel na strukturu proměnné velikosti. Tuto strukturu je v knihovně DLL nebo zdroji kódu nutné definovat následujícím způsobem:

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

Deklarace double array[1] alokuje prostor pouze pro pole o jedné položce. Počet položek ve skutečném poli se pak rovná počtu řádků vynásobenému počtem sloupců.

Začátek stránky

Datový typ O

Datový typ O lze použít pouze pro argumenty, nikoli pro návratovou hodnotu. Předává tři položky: ukazatel na počet řádků v poli, ukazatel na počet sloupců v poli a ukazatel na dvourozměrné pole čísel s plovoucí desetinnou čárkou.

Místo vrácení hodnoty může funkce upravit pole předané datovým typem O. Pokud to chcete udělat, můžete jako argument type_text použít „>O“. Další informace najdete níže v části Změna v místě – funkce deklarované jako Void.

Datový typ O byl vytvořen za účelem přímé kompatibility s knihovnami DLL programovacího jazyka FORTRAN, které předávají argumenty odkazem.

Začátek stránky

Datový typ P

Datový typ P je ukazatel na strukturu OPER. Struktura OPER zahrnuje osm bajtů dat následovaných dvoubajtovým indikátorem, který určuje typ dat. Funkce knihovny DLL nebo zdroje kódu s datovým typem P může přijímat i vracet libovolný datový typ aplikace Microsoft Excel.

Struktura OPER je definována následujícím způsobem:

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;

Pole typ obsahuje některou z těchto hodnot.

Typ

Popis

Použité pole

1

Číslo

num

2

Řetězec (první bajt obsahuje délku řetězce)

str

4

Boolean (logická)

bool

16

Chyba: chybové hodnoty jsou:

0 #NULL!

7 #DIV/0!

15 #HODNOTA!

23 #REF!

29 #NÁZEV?

36 #NUM!

42 #N/A

err

64

Pole

matice

128

Chybějící argument

256

Prázdná buňka

Poslední dvě hodnoty lze použít pouze jako argumenty, nikoli jako vrácené hodnoty. Hodnota argumentu chybějící argument (128) se předává tehdy, když ve volání funkce chybí argument. Hodnota argumentu prázdná buňka (256) se předává tehdy, když volání funkce obsahuje odkaz na prázdnou buňku.

Začátek stránky

Datový typ R – volání funkcí aplikace Microsoft Excel z knihoven DLL

Datový typ R je ukazatel na strukturu XLOPER, což je vylepšená verze struktury OPER. V aplikaci Microsoft Excel verze 4.0 a novější lze použít datový typ R k psaní knihoven DLL a zdrojů kódu volajících funkce aplikace Microsoft Excel. Funkce knihovny DLL se strukturou XLOPER může kromě dat předávat odkazy na listy a implementovat řízení toku dat. Úplný popis datového typu R a aplikačního programovacího rozhraní (API) aplikace Microsoft Excel je nad rámec tohoto výkladu. Podrobné informace o datovém typu R, rozhraní API aplikace Microsoft Excel a o mnohých dalších technických vlastnostech aplikace Microsoft Excel obsahuje příručka Microsoft Office XP Developer's Guide.

Začátek stránky

Stále přepočítávané funkce a přepočty

Aplikace Microsoft Excel obvykle vyhodnotí funkci knihovny DLL (nebo zdroje kódu) pouze při jejím zadání do buňky, když se změní některá z jejích vstupních hodnot nebo když se buňka přepočítává při provádění makra. Funkce knihovny DLL nebo zdroje kódu v listu může být nastavena jako stále přepočítávaná, což znamená, že se přepočítá při každém přepočítávání listu. Aby se funkce stala stále přepočítávanou, přidejte jako poslední znak v argumentu typ vykřičník (!).

V aplikaci Microsoft Excel pro systém Windows je například následující vzorec v listu přepočítán při každém přepočítávání listu:

VOLAT("Kernel32";"GetTickCount";"J!")

Začátek stránky

Změna v místě – funkce deklarované jako Void

Pro kód návratového typu v argumentu typ můžete použít jednu číslici n, kde n je číslo od 1 do 9. Tím sdělíte Microsoft Excelu, aby místo vrácení hodnoty změnil proměnnou v umístění, na které ukazuje n-tý argument v argumentu typ. Tomu se také říká změna v místě. N-tý argument musí být datový typ s předáváním odkazem (C, D, E, F, G, K, L, M, N, O, P nebo R). Funkce nebo zdroj kódu knihovny DLL se také musí deklarovat s klíčovým slovem void v jazyce C (nebo klíčovým slovem procedure v jazyce Pascal).

Například funkce knihovny DLL, která má za vstupní argumenty řetězec zakončený nulou a dva odkazy na celá čísla, může změnit daný řetězec v místě. V takovém případě jako argument typ použijte "1FMM" a funkci deklarujete jako void.

Verze aplikace Microsoft Excel předcházející verzi 4.0 používaly znak > pro změnu prvního argumentu v místě a nebylo možné změnit jiný argument než první. Znak > je ekvivalentní n=1 v aplikaci Microsoft Excel verze 4.0 a novějších.

Začátek stránky

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.