Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.

Važno:  Oprez    Uređivanjem registra na neodgovarajući način možete ozbiljno oštetiti operacijski sustav i možda ćete ga morati ponovno instalirati. Microsoft ne jamči rješavanje problema nastalih zbog uređivanja registra na neodgovarajući način. Prije uređivanja registra sigurnosno kopirajte važne podatke. Najažurnije informacije o korištenju i zaštiti registra računala potražite u pomoći za sustav Microsoft Windows.

U ovom su članku opisani sintaksa formule i način korištenja funkcija CALL, REGISTER i REGISTER.ID u programu Microsoft Excel.

Napomena:  Funkcije CALL i REGISTER nisu dostupne u Excel za web.

Sadržaj članka

Opis

Sljedeći odlomci opisuju vrste podataka argumenata i vraćenih vrijednosti koje koriste funkcije CALL, REGISTER i REGISTER.ID. Argumenti i vraćene vrijednosti malo se razlikuju ovisno o radnom okruženju, a te su razlike zabilježene tablici vrste podataka CALL, REGISTER i REGISTER.ID.

Vrh stranice

Vrste podataka

U funkcijama CALL, REGISTERi REGISTER.ID argument type_text određuje vrstu podataka povratne vrijednosti i vrste podataka svih argumenata za dll funkciju ili resurs koda. Prvi znak type_text određuje vrstu podataka za povratnu vrijednost. Preostali znakovi označavaju vrste podataka svih argumenata. Dll funkcija koja, primjerice, vraća broj s pomičnim zarezom i uzima cijeli broj i broj s pomičnim zarezom kao argumente, za argument type_text vrijednosti.

Sljedeća tablica sadrži potpuni popis kôdova vrsta podataka koje Microsoft Excel prepoznaje, opis svih vrsta podataka, način na koji se prosljeđuje argument ili vraćena vrijednost i tipičnu deklaraciju vrste podatka u programskom jeziku C.

Kôd

Opis

Način prosljeđivanja

C deklaracija

A

Logički
(FALSE = 0), TRUE = 1)

Vrijednost

short int

B

IEEE 8-bajtni broj s pomičnom točkom

vrijednost
(Windows)

referenca (Macintosh)

double
(Windows)

double * (Macintosh)

C

Niz znakova zaključen nul-znakom (najveća duljina niza znakova = 255)

referenca

char *

D

Niz znakova definiran znakovima (prvi bajt sadrži duljinu niza znakova, najveća duljina niza = 255)

referenca

Unsigned char *

E

IEEE 8-bajtni broj s pomičnom točkom

referenca

double *

F

Niz znakova zaključen nul-znakom (najveća duljina niza znakova = 255)

referenca (promjena na mjestu)

char *

G

Niz znakova definiran znakovima (prvi bajt sadrži duljinu niza znakova, najveća duljina niza = 255)

referenca (promjena na mjestu)

unsigned char *

H

2-bajtni cijeli broj bez predznaka

Vrijednost

unsigned short int

I

2-bajtni cijeli broj s predznakom

Vrijednost

short int

J

4-bajtni cijeli broj s predznakom

Vrijednost

long int

K

Polje

referenca

FP *

L

Logički
(FALSE = 0, TRUE = 1)

referenca

short int *

M

2-bajtni cijeli broj s predznakom

referenca

short int *

N

4-bajtni cijeli broj s predznakom

referenca

long int *

O

Polje

referenca

Prosljeđuju se tri argumenta:
unsigned short int *
unsigned short int *
double [ ]

P

Microsoft Excel OPER struktura podataka

referenca

OPER *

R

Microsoft Excel XLOPER struktura podataka

referenca

XLOPER *

Vrh stranice

Napomene

  • Deklaracije jezika C temeljene su na pretpostavci da vaš prevoditelj (compiler) zadano radi sa 8-bajtnim brojevima dvostruke preciznosti, 2-bajtnim kratkim cijelim brojevima (short integers) i 4- bajtnim dugim cijelim brojevima (long integers).

  • U programskom okruženju sustava Microsoft Windows svi su pokazivači daleki (far pointers). Na primjer, u sustavu Microsoft Windows morate deklarirati šifru vrste podatka D kao unsigned char far * .

  • Sve funkcije u DLL bibliotekama i resursima koda pozivaju se pomoću konvencije o načinu pozivanja u Pascalu (Pascal calling convention). Gotovo svi C kompilatori dopuštaju korištenje konvencije o načinu pozivanja u Pascalu dodavanjem ključne riječi Pascal u deklaraciju funkcije, kao što je prikazano u sljedećem primjeru pascal void main (rows,columns,a)

  • Ako funkcija za povratnu vrijednost koristi vrstu podataka pass-by-reference, kao povratnu vrijednost možete proslijediti pokazivač null. Microsoft Excel će protumačiti null pokazivač kao #NUM! vrijednost nenumeričke prirode, PHI vraća vrijednost pogreške #VALUE!.

Vrh stranice

Dodatne informacije o vrstama podataka

Ova sekcija sadrži detaljne informacije o F, G, K, O, P i R vrstama podataka i druge informacije o argumentu type_text.

Vrste podataka F i G

Pomoću F i G vrsta podataka funkcija može promijeniti međuspremnik niza (string buffer) kojeg je dodijelio Microsoft Excel. Ako je kôd vrste vraćene vrijednosti F ili G, tada Microsoft Excel zanemaruje vrijednost koju funkcija vraća. Umjesto toga, Microsoft Excel pretražuje popis argumenata funkcije i traži prvu odgovarajuću vrstu podatka (F ili G), a zatim uzima trenutni sadržaj dodijeljenog međuspremnika niza (allocated string buffer) kao vraćenu vrijednost. Microsoft Excel dodjeljuje 256 bajtova za argument, pa funkcija može vratiti niz koji je dulji od primljenog.

Vrh stranice

Vrsta podataka K

K vrsta podataka koristi pokazivač na FP strukturu promjenjive veličine. Morate definirati tu strukturu u DLL biblioteci ili u resursima kôda kao što slijedi:

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

Deklaracija double array[1] dodjeljuje mjesto za spremanje polja od jednog elementa. Broj elemenata u stvarnom polju jednak je broju redaka pomnoženom s brojem stupaca.

Vrh stranice

Vrsta podataka O

O vrsta podataka može se koristiti samo kao argument, ne kao vraćena vrijednost. Ona prosljeđuje tri stavke: pokazivač na broj redaka u polju, pokazivač na broj stupaca u polju i pokazivač na dvodimenzionalno polje brojeva s pomičnom točkom.

Umjesto vraćanja vrijednosti, funkcija može promijeniti polje proslijeđeno O vrstom podataka. Želite li to napraviti, možete koristiti ">O" kao argument tekst_vrste. Za više informacija pogledajte odlomak ispod: "Promjena na mjestu — funkcije deklarirane kao Void".

O vrsta podataka stvorena je zbog direktne kompatibilnosti s Fortran DLL bibliotekama, koje prosljeđuju argumente referencom.

Vrh stranice

Vrsta podataka P

P vrsta podataka je pokazivač na OPER strukturu. OPER struktura sadrži 8 bajtova podataka iza kojih slijedi 2-bajtni identifikator koji određuje vrstu podataka. Pomoću P vrste podataka, DLL funkcija ili resurs kôda mogu primiti i vratiti bilo koju vrstu podataka Microsoft Excela.

OPER struktura definirana je kao što slijedi:

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 vrsta sadrži jednu od ovih vrijednosti.

Vrsta

Opis

Val polje za korištenje

1

Brojčani

num

2

Niz znakova (prvi bajt sadrži duljinu niza znakova)

str

4

Boole-ov (logički)

bool

16

Pogreška: vrijednosti pogreške su:

0#NULL!

7#DIV/0!

15#VALUE!

23#REF!

29#NAME?

36#NUM!

42#N/A

err

64

Polje

polje

128

Nedostajući argument

256

Prazna ćelija

Posljednje dvije vrijednosti mogu se koristiti samo kao argumenti, ne i kao prikazane vrijednosti. Nedostajuća vrijednost argumenta (128) prosljeđuje se kada pozivatelj ne navede argument. Vrijednost prazne ćelije (256) prosljeđuje se kada pozivatelj proslijedi referencu prema praznoj ćeliji.

Vrh stranice

Vrsta podataka R – pozivanje funkcija programa Microsoft Excel iz DLL biblioteka

R vrsta podataka ukazuje na strukturu XLOPER, što je unaprijeđena verzija strukture OPER. U Microsoft Excelu verzije 4.0 i starijim možete koristiti R vrstu podataka za pisanje DLLova i kodnih resursa koji pozivaju funkcije Microsoft Excela. Pomoću strukture XLOPER, funkcija DLL može proslijediti reference lista i implementirati kontrolu toka, pored prosljeđivanja podataka. Potpuni opis R vrste podataka i sučelja za programiranje aplikacija (API) Microsoft Excela preopširan je za ovu temu. Microsoft Office XP Developer's Guide sadrži detaljne informacije o R vrsti podataka, o Microsoft Excel API i mnogim drugim tehničkim aspektima Microsoft Excela.

Vrh stranice

Promjenjive funkcije i ponovni izračun

Microsoft Excel obično izračunava DLL funkciju (ili resurs kda) samo kad se oni unesu u ćeliju, kad se jedan od njihovih prethodnika promijeni ili kad se ćelija izračunava za vrijeme makronaredbe. Na radnom listu, možete proglasiti DLL funkciju ili resurs kôda promjenjivom (volatile), što znači da se ponovno izračunava svaki put kad se radni list ponovno izračunava. Ako želite da funkcija bude promjenjiva, dodajte uskličnik (!) kao zadnji znak argumenta type_text.

Na primjer, u programima Microsoft Excel za Windows, sljedeća formula radnog lista ponovno se izračunava svaki put kad se radni list ponovno izračunava:

CALL("Jezgra32","DohvatiBrojSignala","J!")

Vrh stranice

Izmjena na mjestu – funkcije deklarirane kao ništetne

Možete koristiti jednu znamenku n za kôd vrste vraćene vrijednosti u type_text, gdje je n broj od 1 do 9. Ovo govori Microsoft Excelu da promijeni varijablu na lokaciji na koju pokazuje n-ti argument u type_text, umjesto da vraća vrijednost. Ovaj postupak zove se promjena na mjestu. N-ti argument mora imati vrstu podatka koja se prosljeđuje referencom (C, D, E, F, G, K, L, M, N, O, P ili R). DLL funkcija ili resurs kda moraju također biti deklarirani uz korištenje ključne riječi void u programskom jeziku C (ili uz korištenje ključne riječi procedure u programskom jeziku Pascal).

Na primjer, DLL funkcija koja kao argumente uzima niz znakova zaključen nul-znakom i dva pokazivača na cijele brojeve, može na mjestu promijeniti niz znakova. Koristite "1FMM" kao argument type_text i deklarirajte funkciju kao void.

Verzije ranije od Microsoft Excel 4.0 koristile su znak > za promjenu prvog argumenta na mjestu; nije bilo načina za promjenu bilo kojeg drugog argumenta osim prvog. Znak > ekvivalentan je n = 1 u programu Microsoft Excel verzija 4.0 ili novija.

Vrh stranice

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×