Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Important:  Atenție    Editarea incorectă a registry poate deteriora grav sistemul de operare, impunând reinstalarea acestuia. Microsoft nu poate garanta că problemele rezultate din editarea incorectă a registry se pot rezolva. Înainte să editați în registry, faceți backup tuturor datelor importante. Pentru cele mai recente informații privind utilizarea și protejarea registry-ului computerului, consultați Ajutorul Microsoft Windows.

Acest articol descrie sintaxa formulei și modul de utilizare a funcțiilor CALL, REGISTER și REGISTER.ID în Microsoft Excel.

Notă:  Funcțiile CALL și REGISTER nu sunt disponibile în Excel pentru web.

În acest articol

Descriere

În cele ce urmează sunt descrise tipurile de date ale argumentelor și valorilor returnate de funcțiile CALL, REGISTER și REGISTER.ID. Argumentele și valorile returnate diferă net în funcție de mediul de operare și aceste diferențe sunt notate în tabelul de tipuri de date.

Începutul paginii

Tipuri de date

În funcțiile CALL, REGISTER și REGISTER.ID, argumentul type_text specifică tipul de dată al valorii returnate și tipurile de date pentru toate argumentele funcției DLL sau resursei de cod. Primul caracter din type_text indică tipul de dată al valorii returnate. Restul caracterelor indică tipurile de date ale tuturor argumentelor. De exemplu, o funcție DLL care returnează un număr cu format în virgulă flotantă și primește drept argumente un întreg și un număr în virgulă flotantă, va necesita expresia "BIB" pentru argumentul type_text.

Tabelul următor conține o listă completă a codurilor tipurilor de date recunoscute de Microsoft Excel, o descriere a fiecărui tip de dată, modul cum sunt transferate argumentul și valoarea returnată și o declarare tipică pentru tipul de dată în limbajul de programare C.

Cod

Descriere

Mod de transfer

Declarare în C

A

Logic
(FALSE = 0), TRUE = 1)

Valoare

short int

B

Număr în virgulă flotantă IEEE 8-byte

Valoare
(Windows)

Referință (Macintosh)

double
(Windows)

double * (Macintosh)

C

Șir null-terminated (lungime maximă șir = 255)

Referință

char *

D

Șir byte-counted (primul byte conține lungimea șirului, lungime maximă șir = 255 caractere)

Referință

Unsigned char *

E

Număr în virgulă flotantă IEEE 8-byte

Referință

double *

F

Șir null-terminated (lungime maximă șir = 255 caractere)

Referință (modifică pe loc)

char *

G

Șir byte-counted (primul byte conține lungimea șirului, lungime maximă șir = 255 caractere)

Referință (modifică pe loc)

unsigned char *

H

Întreg 2-byte fără semn

Valoare

unsigned short int

I

Întreg 2-byte cu semn

Valoare

short int

J

Întreg 4-byte cu semn

Valoare

long int

K

Matrice

Referință

FP *

L

Logic
(FALSE = 0, TRUE = 1)

Referință

short int *

M

Întreg 2-byte cu semn

Referință

short int *

N

Întreg 4-byte cu semn

Referință

long int *

O

Matrice

Referință

Trei argumente sunt transferate:
unsigned short int *
unsigned short int *
double [ ]

P

Structură de date Microsoft Excel OPER

Referință

OPER *

R

Structură de date Microsoft Excel XLOPER

Referință

XLOPER *

Începutul paginii

Observații

  • Declarațiile din limbajul C se bazează pe prezumția că compilatorul dvs. implică formatele de întreg dublu 8-byte, întreg scurt 2-byte și întreg lung 4-byte.

  • În mediul de programare Microsoft Windows, toate indicatoarele sunt pointeri far. De exemplu, codul tipului de dată D va trebui declarat ca unsigned char far * în Microsoft Windows.

  • Toate funcțiile din bibliotecile DLL și din resursele de cod sunt apelate utilizându-se convenția de apelare Pascal. Majoritatea compilatoarelor C vă permit să utilizați convenția de apelare Pascal prin adăugarea la declarația funcției a cuvântului cheie Pascal, ca în exemplul următor: pascal void main (rows,columns,a)

  • Dacă o funcție utilizează un tip de date pass-by-reference pentru valoarea returnată, puteți transmite un indicator nul ca valoare returnată. Microsoft Excel va interpreta indicatorul nul ca fiind #NUM! .

Începutul paginii

Informații despre tipuri de date suplimentare

Această secțiune conține informații detaliate despre tipurile de date F, G, K, O, P și R și alte informații despre argumentul type_text.

Tipuri de date F și G

Cu tipurile de date F și G, o funcție poate modifica buffer-ul alocat de Microsoft Excel unui șir. Dacă codul tipului de dată al valorii returnate este F sau G, atunci Microsoft Excel ignoră valoarea returnată de către funcție. Ca urmare, Microsoft Excel caută în lista argumentelor funcției până la primul tip de dată corespunzător (F sau G), apoi preia drept valoare returnată conținutul buffer-ului alocat pentru șir. Microsoft Excel alocă 256 byți pentru argument, astfel încât funcția poate returna un șir mai lung decât cel primit.

Începutul paginii

Tipul de dată K

Tipul de dată K utilizează un indicator spre o structură de mărime variabilă FP. Trebuie să definiți această structură în biblioteca DLL sau în resursa de cod, după cum urmează:

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

Declarația double array[1] alocă memorie numai pentru o matrice cu un singur element. Numărul de elemente din matricea actuală este egal cu numărul de linii înmulțit cu numărul de coloane.

Începutul paginii

Tip de dată O

Tipul de dată O poate fi utilizat numai ca un argument, nu și ca valoare returnată. El transferă trei elemente: un indicator spre numărul de linii dintr-o matrice, un indicator spre numărul de coloane din matrice și un indicator spre o matrice bi-dimensională sau spre numere în virgulă flotantă.

În loc să returneze o valoare, o funcție poate modifica o matrice transmisă de tipul de date O. Pentru a face acest lucru, puteți utiliza ">O" ca argument type_text. Pentru mai multe informații, consultați "Modificarea pe loc - Funcții declarate ca Void" de mai jos.

Tipul de dată O a fost creat pentru compatibilitate expresă cu bibliotecile DLL Fortran, care transferă argumente prin referințe.

Începutul paginii

Tip de dată P

Tipul de dată P este un indicator spre o structură OPER. Structura OPER conține 8 byți de date, urmați de un identificator de 2 byți care specifică tipul de dată. Cu un tip de dată P, o funcție DLL sau o resursă de cod poate prelua și întoarce orice tip de dată Microsoft Excel.

Structura de date OPER este definită după cum urmează:

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;

Câmpul type conține una dintre aceste valori.

Tip

Descriere

Câmpul Val utilizat

1

Numeric

num

2

String (primul octet conține lungimea șirului)

str

4

Boolean (logic)

bool

16

Eroare: valorile de eroare sunt:

0#NULL!

7#DIV/0!

15#Value!

23#REF!

29#NAME?

36#NUM!

42#N/A

err

64

Matrice

array

128

Argument lipsă

256

Celulă goală

Ultimele două valori pot fi utilizate numai ca argumente, nu și ca valori returnate. Valoarea pentru argument lipsă (128) este transferată atunci când apelantul omite un argument. Valoarea de celulă goală (256) este transferată atunci când apelantul transferă o referință pentru o celulă goală.

Începutul paginii

Tip de dată R — Apelarea funcțiilor Microsoft Excel din bibliotecile DLL

Tipul de dată R este un indicator spre o structură XLOPER, care este o versiune îmbunătățită a structurii OPER. În Microsoft Excel versiunile 4.0 și mai recente, puteți utiliza tipuri de date R pentru a scrie biblioteci DLL și resurse de cod care apelează funcții Microsoft Excel. Cu structura XLOPER, o funcție DLL poate transfera referințe de foaie și implementa control flux pe lângă transferul de date. O descriere completă a tipului de dată R și a interfeței programelor de aplicație Microsoft Excel (application programming interface -API) este mai presus de scopul acestui subiect. Microsoft Office XP Developer's Guide conține informații detaliate despre tipul de dată R, Microsoft Excel API și multe alte aspecte tehnice ale Microsoft Excel.

Începutul paginii

Funcții volatile și recalculări

Microsoft Excel calculează de obicei o funcție DLL (sau o resursă de cod) numai atunci când este introdusă într-o celulă, când una dintre precedentele sale se modifică sau când celula este calculată în timpul unei macrocomenzi. Într-o foaie de calcul, puteți face o funcție DLL sau o resursă de cod volatile, adică să recalculeze de fiecare dată când foaia de calcul este recalculată. Pentru a face o funcție volatilă, adăugați un semn de exclamație (!) ca ultim caracter în argumentul type_text.

De exemplu, în Microsoft Excel pentru Windows, următoarea formulă din foaia de calcul se recalculează de fiecare dată când foaia de calcul este recalculată:

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

Începutul paginii

Modificare pe loc — Funcții declarate ca Void

Puteți utiliza o singură cifră n pentru codul tipului de returnare din type_text, unde n este un număr între 1 și 9. Acest lucru spune Microsoft Excel să modifice variabila în locația indicată de al n-lea argument din type_text, în loc să returneze o valoare. Acest lucru se mai numește și modificare în locație. Argumentul n trebuie să fie un tip de date pass-by-reference (C, D, E, F, G, K, L, M, N, O, P sau R). Funcția DLL sau resursa de cod trebuie, de asemenea, declarată cu cuvântul cheie nul în limba C (sau cu cuvântul cheie procedură în limba Pascal).

De exemplu, o funcție DLL care primește drept argumente un șir null-terminated și doi indicatori spre întregi, poate modifica șirul în loc. Utilizați "1FMM" ca argument type_text și declarați funcția ca void.

Versiunile anterioare lui Microsoft Excel 4.0 foloseau caracterul > pentru modificarea primului argument în loc; nu exista nicio posibilitate de a modifica un alt argument în afară de primul. Caracterul > este echivalent cu n = 1 din Microsoft Excel versiunile 4.0 și ulterioare.

Începutul paginii

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×