Office
Přihlásit se

Použití funkcí VOLAT a PŘIHLÁSIT

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 Online.

V tomto článku

Popis

Datové typy

Poznámky

Další informace o datových typech

Datové typy F a G

Datový typ K

Datový typ O

Datový typ P

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

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

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

Popis

V této části jsou popsány argumenty a typy vrácených hodnot funkcí VOLAT, PŘIHLÁSITPŘIHLÁSIT.ID. Argumenty a návratové hodnoty se mírně mění v závislosti na operačním prostředí. Tyto odchylky zachycuje tabulka 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 (řádky;sloupce;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). Aplikace 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

Funkce s datovými typy F a G mohou změnit obsah vyrovnávací paměti řetězců přidělené aplikací Microsoft Excel. Je-li kód typu návratové hodnoty F nebo G, aplikace Microsoft Excel návratovou hodnotu ignoruje. Místo toho hledá seznam argumentů funkce prvního odpovídajícího datového typu (F nebo G). Jako návratovou hodnotu pak vezme aktuální obsah přidělené vyrovnávací paměti řetězců. Aplikace Excel přiděluje pro argument 256 bajtů, takže je možné, že funkce vrátí delší řetězec, než dostala.

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 změnit pole předané datovým typem O. Toho dosáhnete, když jako argument typ zadáte ">O". Další informace jsou uvedeny 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

Kód typu vrácené hodnoty v argumentu typ může zahrnovat číslo n od 1 do 9, které aplikaci Microsoft Excel udává, že má místo vrácení hodnoty změnit proměnnou v místě, na které ukazuje n-tý argument v "typ". Tomu se také říká změna v místě. Příslušný n-tý argument musí být předáván odkazem (datové typy C, D, E, F, G, K, L, M, N, O, P nebo R). Deklarace funkce knihovny DLL nebo zdroje kódu v jazyce C musí obsahovat klíčové slovo void (nebo klíčové slovo 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 případě, že jako argument typ použijete "1FMM" a že 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

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×