Uporaba funkcij CALL in REGISTER

Pomembno : Besedilo članka je prevedeno strojno. Glejte zavrnitev odgovornosti. Angleško različico tega članka najdete tukaj .

Pomembno : Pozor    Nepravilno urejanje registra lahko tako resno poškoduje operacijski sistem, da ga boste morali znova namestiti. Microsoft ne more zagotoviti, da je mogoče odpraviti težave, ki so posledica nepravilnega urejanja registra. Pred urejanjem registra ustvarite varnostno kopijo pomembnih podatkov. Če si želite ogledati najnovejše informacije o uporabi in zaščiti registra, si oglejte pomoč za Microsoft Windows.

V tem članku je opisana sintaksa formule in uporaba funkcij CALL, REGISTER in REGISTER.ID v Microsoft Excelu.

Opomba :  Funkciji CALL in REGISTER nista na voljo v programu Excel Online.

V tem članku

Opis

Podatkovni tipi

Opombe

Dodatne informacije o podatkovnih tipih

Podatkovna tipa F in G

Podatkovni tip K

Podatkovni tip O

Podatkovni tip P

Podatkovni tip R – klicanje Microsoft Excelovih funkcij iz knjižnic DLL

Spremenljive funkcije in ponovno računanje

Spreminjanje na mestu – funkcije, deklarirane kot prazne (Void)

Opis

V tem besedilu so opisani argumenti in tipi podatkov vrnjenih vrednosti funkcij CALL, REGISTER in REGISTER.ID. Argumenti in vrnjene vrednosti se v različnih operacijskih okoljih rahlo razlikujejo, kar je označeno v tabeli podatkovnih tipov.

Na vrh strani

Tipi podatkov

V funkcijah CALL, REGISTER in REGISTER.ID argument »text_type« določa podatkovni tip vrnjenih vrednosti in vseh argumentov funkcije DLL ali sredstva kode. Prvi znak argumenta »text_type« določa podatkovni tip vrnjene vrednosti. Drugi znaki označujejo podatkovne tipe vseh argumentov. Za funkcijo DLL, ki vrne število s plavajočo vejico in uporablja cela števila in števila s plavajočo vejico kot argumente, bi bil na primer obvezen niz »BIB« za argument »type_text«.

Naslednja tabela vsebuje popoln seznam tipov podatkov, ki jih Microsoft Excel prepozna; opis vsakega od teh tipov; način, kako funkcija podaja (izmenjuje z okoljem) argument ali vrnjeno vrednost; in značilno deklaracijo za podatkovni tip v programskem jeziku C.

Koda

Opis

Podano

deklaracija C

A

Logična vrednost
(FALSE = 0), TRUE = 1)

Vrednost

short int

B

IEEE 8-bajtno število s plavajočo vejico

z vrednostjo
(Windows)

s sklicem (Macintosh)

double
(Windows)

double * (Macintosh)

C

niz z ničelno (NULL) zaključitvijo (največja dolžina niza = 255)

s sklicem

char *

D

bajtno štet niz (prvi bajt vsebuje dolžino niza, največja dolžina niza = 255 znakov)

s sklicem

unsigned char *

E

IEEE 8-bajtno število s plavajočo vejico

s sklicem

double *

F

niz z ničelno (NULL) zaključitvijo (največja dolžina niza = 255 znakov)

s sklicem (prilagodi na mestu)

char *

G

bajtno štet niz (prvi bajt vsebuje dolžino niza, največja dolžina niza = 255 znakov)

s sklicem (prilagodi na mestu)

unsigned char *

H

2-bajtno celo število brez predznaka

Vrednost

unsigned short int

I

2-bajtno celo število s predznakom

Vrednost

short int

J

4-bajtno celo število s predznakom

Vrednost

long int

K

matrika

s sklicem

FP *

L

logična vrednost
(FALSE = 0, TRUE = 1)

s sklicem

short int *

M

2-bajtno celo število s predznakom

s sklicem

short int *

N

4-bajtno celo število s predznakom

s sklicem

long int *

O

matrika

s sklicem

funkcija poda tri argumente:
unsigned short int *
unsigned short int *
double [ ]

P

Microsoft Excelova OPER podatkovna zgradba

s sklicem

OPER *

R

Microsoft Excelova XLOPER podatkovna zgradba

s sklicem

XLOPER *

Na vrh strani

Opombe

  • Izjave (deklaracije) v jeziku C temeljijo na predpostavki, da so privzete nastavitve vašega prevajalnika: 8-bajtna dvojna (double) realna števila, 2-bajtna kratka (short) cela števila in 4-bajtna dolga (long) cela števila.

  • V programskem okolju Microsoft Windows so vsi kazalci dolgi (far). Podatkovno kodo vrste D morate na primer v sistemu Microsoft Windows prijaviti kot unsigned char far *.

  • Vse funkcije v knjižnicah DLL in sredstvih kode kliče program po pascalskih določilih za klicanje. Večina prevajalnikov C vam omogoča klicanje na pascalski način, tako da dodate ključno besedo »Pascal« v prijavo funkcije, na primer: pascal void main (rows,columns,a)

  • Če funkcija uporablja podatkovni tip, ki se podaja s sklicevanjem za svojo vrnjeno vrednost, lahko podate ničelni (NULL) kazalec na vrnjeno vrednost. Microsoft Excel bo razumel ničelni kazalec kot vrednost napake #NUM!.

Na vrh strani

Dodatne informacije o podatkovnih tipih

Ta odsek vsebuje podrobne informacije o podatkovnih tipih F, G, K, O, P in R in druge informacije o argumentu text_type.

Podatkovna tipa F in G

S podatkovnima tipoma F in G lahko funkcija spremeni medpomnilnik niza (string buffer), ki ga dodeli Microsoft Excel. Če je vrnjena vrednost tipa F ali G, Microsoft Excel prezre vrednost, ki jo vrne funkcija. Namesto tega poišče Microsoft Excel na seznamu argumentov funkcije prvi ustrezni podatkovni tip (F ali G) in privzame trenutno vsebino dodeljenega medpomnilnik niza kot vrnjeno vrednost. Microsoft Excel dodeli 256 bajtov za argument, tako da lahko funkcija vrne daljši niz od tistega, ki ga je prejela.

Na vrh strani

Podatkovni tip K

Podatkovni tip K uporablja kazalec na FP zgradbo s spremenljivo velikostjo. To zgradbo morate določiti v DLL-u ali sredstvu kode kot:

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

S prijavo double array[1] dodelite pomnilniški prostor samo za matriko z enojnim elementom. Število elementov v dejanski matriki je enako številu vrstic, pomnoženo s številom stolpcev.

Na vrh strani

Podatkovni tip O

Podatkovni tip O lahko uporabljate samo kot argument in ne kot vrnjeno vrednost. Ta tip podaja tri elemente: kazalec na število vrstic v matriki, kazalec na število stolpcev v matriki in kazalec na dvorazsežno matriko s števili s plavajočo vejico.

Namesto da bi funkcija vrnila vrednost, lahko spremeni matriko, ki jo podaja podatkovi tip O. Da bi to uresničili, lahko uporabite »>O« kot argument text_type. Za več informacij si spodaj oglejte razlago teme »Spreminjanje na mestu – funkcije, deklarirane kot prazne (Void)«.

Podatkovni tip O je Microsoft ustvaril, da bi zagotovil neposredno združljivost s Fortranovimi knjižnicami, ki podajajo argumente s sklici.

Na vrh strani

Podatkovni tip P

Podatkovni tip P je kazalec na zgradbo OPER. Ta zgradba vsebuje 8 bajtov podatkov, ki jim sledi 2-bajtni označevalnik, ki določa tip podatka. Pri podatkovnem tipu P lahko DLL-funkcija ali sredstvo kode prejme in vrne kateri koli Microsoft Excelov podatkovni tip.

Zgradba OPER je določena takole:

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;

Polje » type« vsebuje eno od teh vrednosti:

Tip

Opis

Polje »val«, ki ga uporabite

1

Števila

num

2

niz (prvi bajt vsebuje dolžino niza)

str

4

Boolov (logično)

bool

16

napaka; vrednosti napak so:

0#NULL!

7#DIV/0!

15#Value!

23#REF!

29#INAME?

36#NUM!

42#N/A

err

64

matrika

array

128

manjkajoči argument

256

prazna celica

Zadnji dve vrednosti lahko uporabljate zgolj kot argument in ne kot vrnjeno vrednosti. Program poda manjkajočo vrednost argumenta (128), ko klicatelj izpusti argument. Program pa poda manjkajočo vrednost argumenta (256), ko klicatelj poda sklic na prazno celico.

Na vrh strani

Podatkovni tip R – klicanje funkcij Microsoft Excela iz knjižnic DLL

Podatkovni tip R je kazalec na zgradbo XLOPER, ki je dodelana različica zgradbe OPER. V Microsoft Excelu različica 4.0 in v novejših različicah lahko uporabljate podatkovni tip R, da bi pisali DLL-e in sredstva kode, ki kličejo funkcije Microsoft Excela. Z zgradbo XLOPER lahko funkcija DLL, poleg podajanja podatkov podaja tudi sklice na delovni list in upravlja podatkovni tok. Žal v tej temi ni dovolj prostora za celovit opis podatkovnega tipa R in vmesnika za programiranje (API – application programming interface) Microsoft Excela. Zbirka pripomočkov Microsoft Office XP Developer's Guide vsebuje podrobne informacije o podatkovnem tipu R, o API-ju Microsoft Excela in o mnogih drugih tehničnih vidikih Microsoft Excela.

Na vrh strani

Spremenljive funkcije in ponovno računanje

Microsoft Excel običajno računa DLL-funkcijo (ali sredstvo kode), ko jo vnesete v celico, ko se ena od predhodnic celice spremeni ali ko makro preračuna celico. Na delovnem listu lahko naredite DLL-funkcijo in sredstvo kode občutljivo (volatile), kar pomeni, da ju program ponovno izračuna vsakič, ko izračuna delovni list. Da bi naredili funkcijo občutljivo, dodajte klicaj (!) na konec argumenta text_type.

Naslednja formula za delovni list se na primer v Microsoft Excelu za Windows izračuna vsakič skupaj z delovnim listom:

Call("Kernel32","GetTickCount","J!")

Na vrh strani

Spreminjanje na mestu – funkcije, deklarirane kot prazne (Void)

Za kodo vrnjene vrednosti lahko v argumentu text_type uporabite enojno števko n, ki je število 1 do 9. To pove Microsoft Excelu, naj namesto tega, da funkcija vrne vrednost, spremeni spremenljivko, na mesto katere kaže n-ti argument text_type. To je znano tudi kot »spreminjanje na mestu«. N-ti argument mora biti podatkovni tip, ki je podan s sklicevanjem (C, D, E, F, G, K, L, M, N, O, P ali R). DLL funkcija ali sredstvo kode mora biti deklarirana s ključno besedo »void« v jeziku C (ali s ključno besedo »procedure« v jeziku Pascal).

Na primer, DLL funkcija, ki uporablja ničelno zaključen (null-terminated) niz in dva kazalca na cela števila kot argumenta, lahko na mestu spremeni niz. Uporabite »1FMM« kot argument text_type in napovejte funkcijo kot »void«.

Predhodne različice programa Microsoft Excel 4.0 so uporabljale znak »>«, da bi na mestu spremenjale niz -- dalo se je spreminjati samo prvi argument in nobenega drugega. Znak »>« pa je enakovreden n = 1 v Microsoft Excelu različica 4.0 in v novejših različicah.

Na vrh strani

Opomba : Strojni prevod – zavrnitev odgovornosti: Ta članek je bil preveden z računalniškim programom brez človeškega posredovanja. Microsoft skuša s strojno prevedenimi članki vsebino o Microsoftovih izdelkih, storitvah in tehnologijah približati osebam, ki ne razumejo angleščine. Ker je bil članek strojno preveden, so lahko v njem jezikovne, slovnične in pravopisne napake.

Razširite svoja znanja
Oglejte si izobraževanje
Prvi dobite nove funkcije
Pridružite se programu Office Insider

Vam je bila informacija v pomoč?

Zahvaljujemo se vam za povratne informacije.

Zahvaljujemo se vam za povratne informacije. Videti je, da bi vam prišla prav pomoč enega od naših Officeovih agentov za podporo.

×