Funkciju CALL un REGISTER izmantošana

Svarīgi! : Uzmanību!    Nepareizi rediģējot reģistru, varat radīt nopietnas problēmas operētājsistēmā, kā rezultātā var būt nepieciešams to pārinstalēt. Korporācija Microsoft nevar garantēt, ka atrisināsit problēmas, ko var radīt nepareiza reģistra rediģēšana.Pirms reģistra rediģēšanas izveidojiet visu vērtīgo datu rezerves kopiju. Jaunāko informāciju par datora reģistra lietošanu un aizsargāšanu skatiet Microsoft Windows palīdzībā.

Šajā rakstā ir aprakstīta funkciju CALL, REGISTER un REGISTER.ID formulu sintakse un lietošana programmā Microsoft Excel.

Piezīme :  Funkcijas CALL un REGISTER nav pieejamas programmā Excel Online.

Šajā rakstā

Apraksts

Datu tipi

Piezīmes

Papildinformācija par datu tipiem

Datu tipi F un G

Datu tips K

Datu tips O

Datu tips P

Datu tips R — Microsoft Excel funkciju izsaukšana no DLL

Mainīgas funkcijas un pārrēķins

Modificēšana vietā — funkcijas, kuras paziņotas kā tukšas

Apraksts

Šeit aprakstīti argumentu un atgriezto vērtību datu tipi, kurus izmanto funkcijas CALL, REGISTER un REGISTER.ID. Argumenti un atgrieztās vērtības nedaudz atšķiras atkarībā no jūsu operētājsistēmas. Šīs atšķirības ir norādītas datu tipu tabulā.

Uz lapas sākumu

Datu tipi

Funkcijās CALL, , REGISTER un REGISTER.IDtipa arguments nosaka atgrieztās vērtības datu tipu un visu DLL funkciju vai koda resursu datu tipus. Pirmā tipa rakstzīme norāda atgrieztās vērtības datu tipu. Pārējās rakstzīmes norāda visu argumentu datu tipus. Piemēram, DLL funkcijai, kura atgriež skaitli ar peldošo komatu un kuras argumenti ir vesels skaitlis un skaitlis ar peldošo komatu, ir nepieciešams tipa arguments "BIB".

Šajā tabulā norādīts pilnīgs Microsoft Excel atpazīto datu tipu kodu saraksts, paskaidrots, kā tiek nodoti argumenti vai atgrieztās vērtības, kā arī tipiskais datu tipa paziņojums programmēšanas valodā C.

Kods

Apraksts

Neskart

Paziņojums valodā C

A

Loģiskā
(FALSE = 0), TRUE = 1)

Vērtība

short int

B

IEEE 8 bitu skaitlis ar peldošo komatu

Vērtība
(Windows)

Atsauce (Macintosh)

dubults
(Windows)

dubults * (Macintosh)

C

Null-terminated virkne (maksimālais virknes garums = 255)

Atsauce

char *

D

Baitos skaitīta virkne (pirmais baits satur virknes garumu, maksimālais virknes garums = 255 rakstzīmes)

Atsauce

Neparakstīts char *

E

IEEE 8 baitu skaitlis ar peldošo komatu

Atsauce

dubults *

F

Null-terminated virkne (maksimālais virknes garums = 255 rakstzīmes)

Atsauce (modificēt vietā)

char *

G

Baitos skaitīta virkne (pirmais baits satur virknes garumu, maksimālais virknes garums = 255 rakstzīmes)

Atsauce (modificēt vietā)

neparakstīts char *

H

Neparakstīts divu baitu vesels skaitlis

Vērtība

neparakstīts short int

I

Parakstīts divu baitu vesels skaitlis

Vērtība

short int

J

Parakstīts četru baitu vesels skaitlis

Vērtība

long int

K

Masīvs

Atsauce

FP *

L

Loģiskā
(FALSE = 0), TRUE = 1)

Atsauce

short int *

M

Parakstīts divu baitu vesels skaitlis

Atsauce

short int *

N

Parakstīts četru baitu vesels skaitlis

Atsauce

long int *

O

Masīvs

Atsauce

Tiek nodoti trīs argumenti:
neparakstīts short int *
neparakstīts short int *
dubults [ ]

P

Microsoft Excel OPER datu struktūra

Atsauce

OPER *

R

Microsoft Excel XLOPER datu struktūra

Atsauce

XLOPER *

Uz lapas sākumu

Piezīmes

  • Paziņojumi valodā C tiek pamatoti ar pieņēmumu, ka kompilators pēc noklusējuma lieto 8 baitu dubultos, 2 baitu īsos veselos skaitļus un 4 baitu garos veselos skaitļus.

  • Microsoft Windows programmēšanas vidē visi rādītāji ir tālie rādītāji. Piemēram, Microsoft Windows vidē datu tipa kods D ir jāpaziņo kā unsigned char far *.

  • Visas DLL un kodu resursos esošās funkcijas tiek izsauktas, izmantojot Pascal izsaukšanas konvenciju. Lielākā daļa C kompilatoru ļauj izmantot Pascal izsaukšanas konvenciju, funkcijas paziņojumam pievienojot Pascal atslēgvārdu, kā parādīts šajā piemērā: pascal void main (rows,columns,a)

  • Ja funkcija tās atgrieztajai vērtībai izmanto pass-by-reference datu tipu, nulles rādītāju var nodot kā atgriezto vērtību. Microsoft Excel interpretē nulles rādītāju kā kļūdas vērtību #NUM!

Uz lapas sākumu

Papildinformācija par datu tipiem

Šajā daļā sniegta detalizēta informācija par datu tipiem F, G, K, O, P un R, kā arī cita informācija par tipa argumentu.

Datu tipi F un G

Izmantojot datu tipus F un G, funkcija var modificēt Microsoft Excel piešķirto virknes buferi. Ja atgrieztās vērtības tipa kods ir F vai G, Microsoft Excel ignorē funkcijas atgriezto vērtību. Tā vietā Microsoft Excel funkciju argumentu sarakstā atrod pirmo atbilstošo datu tipu (F vai G) un pēc tam pieņem piešķirtā virknes bufera pašreizējo saturu kā atgriezto vērtību. Microsoft Excel argumentam piešķir 256 baitus, lai funkcija varētu atgriez virkni, kas ir lielāka par saņemto.

Uz lapas sākumu

Datu Tips K

Datu tips K izmanto rādītāju uz mainīga izmēra FP struktūru. Šī struktūra jānosaka DLL vai koda resursā šādā veidā:

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

Paziņojums double array[1] piešķir glabāšanu tikai viena elementa masīvam. Elementu skaits īstajā masīvā ir vienāds ar rindu skaita un kolonnu skaita reizinājumu.

Uz lapas sākumu

Datu Tips O

Datu tipu O var izmantot vienīgi kā argumentu, nevis kā atgriezto vērtību. Tas nodod trīs vienumus: rādītāju uz rindu skaitu masīvā, rādītāju uz kolonnu skaitu masīvā un rādītāju uz divu dimensiju skaitļu ar peldošo komatu masīvu.

Vērtības atgriešanas vietā funkcija var modificēt datu tipa O nodotu masīvu. Lai to izdarītu, kā tipa argumentu var izmantot ">O". Lai iegūtu papildinformāciju, skatiet daļu "Modificēšana vietā — Funkcijas, kuras tiek paziņotas kā tukšas".

Datu tips O tika izveidots, lai nodrošinātu tiešu savietojamību ar Fortran DLL, kuri nodod argumentus pa atsaucēm.

Uz lapas sākumu

Datu Tips P

Datu tips P ir rādītājs uz OPER struktūru. OPER struktūra satur 8 baitus datu, kuriem seko divu baitu identifikators, kurš norāda datu tipu. Izmantojot datu tipu P, DLL funkcija vai koda resurss var iegūt un atgriezt jebkuru Microsoft Excel datu tipu.

OPER struktūras definīcija ir šāda:

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;

Šī tipa lauks satur vienu no šīm vērtībām.

Tips

Apraksts

Izmantojamais vērtības lauks

1

Skaitlisks

num

2

Virkne (pirmais baits satur virknes garumu)

str

4

Būla vērtība (loģiskā)

bool

16

Kļūda: kļūdas vērtības ir šādas:

0#NULL!

7#DIV/0!

15#Value!

23#REF!

29#NAME?

36#NUM!

42#N/A

err

64

Masīvs

masīvs

128

Nav argumenta

256

Tukša šūna

Pēdējās divas vērtības var izmantot vienīgi kā argumentus, nevis kā atgrieztās vērtības. Trūkstošā argumenta vērtība (128) tiek nodota, tiklīdz prasītājs izlaiž argumentu. Tukšās šūnas vērtība (256) tiek nodota, kad izsaucējs nodod atsauci uz tukšu šūnu.

Uz lapas sākumu

Datu tips R — Microsoft Excel funkciju izsaukšana no DLL

Datu tips R ir rādītājs uz XLOPER struktūru, kas ir uzlabota OPER struktūras versija. Izmantojot Microsoft Excel 4.0 un jaunāku versiju, datu tipu R var izmantot DLL un kodu resursu rakstīšanai, kuri izsauc Microsoft Excel funkcijas. Izmantojot XLOPER struktūru, DLL funkcija līdzās datu nodošanai var nodot lapu atsauces un nodrošināt plūsmas vadību. Šajā tēmā nav iespējams sniegt pilnu datu tipa R un Microsoft Excel lietojumprogrammu programmēšanas interfeisa (API) aprakstu. Detalizēts datu tipa R, Microsoft Excel API un citu Microsoft Excel tehnisko aspektu apraksts atrodams Microsoft Office XP Developer's Guide.

Uz lapas sākumu

Mainīgas funkcijas un pārrēķins

Parasti Microsoft Excel aprēķina DLL funkciju (vai koda resursu) tikai pēc tā ievadīšanas šūnā, gadījumā, ja mainās viens no tā priekštečiem, vai arī šūna tiek aprēķināta makro izpildes laikā. Darblapā DLL funkciju vai koda resursu var padarīt mainīgu; tas nozīmē, ka tas tiek pārrēķināts ikreiz, kad tiek pārrēķināta darblapa. Lai padarītu funkciju mainīgu, tipa argumentā kā pēdējo rakstzīmi pievienojiet izsaukuma zīmi.

Piemēram, programmā Microsoft Excel Windows videi norādītā darblapas formula tiek pārrēķināta ikreiz, kad tiek pārrēķināta pati darblapa:

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

Uz lapas sākumu

Modificēšana vietā — funkcijas, kuras paziņotas kā tukšas

Atgriešanas tipa koda norādīšanai tipā var izmantot vienu ciparu n, tātad ciparu no 1 līdz 9. Šādā veidā Microsoft Excel saņem komandu modificēt mainīgo n-tā tipa argumenta norādītajā apgabalā, tā vietā, lai atgrieztu vērtību. Šī darbība tiek saukta arī par modificēšanu vietā. N-tajam argumentam jābūt pass-by-reference datu tipam (C, D, E, F, G, K, L, M, N, O, P vai R). Jāpaziņo arī DLL funkcija vai koda resurss, izmantojot tukšu atslēgvārdu C valodā (vai arī procedūras atslēgvārdu valodā Pascal).

Piemēram, DLL funkcija, kura pārveido null-terminated virkni un divus rādītājus par veseliem skaitļiem kā argumentiem, var veikt virknes modificēšanu vietā. Norādiet tipa argumentu "1FMM" un paziņojiet, ka funkcija ir tukša.

Lai veiktu pirmā argumenta modificēšanu vietā par 4.0 versiju agrākas Microsoft Excel versijas izmanto simbolu >, un tajās nevar modificēt nevienu citu argumentu. Simbolam > atbilstošā vērtība programmas Microsoft Excel versijā 4.0 un jaunākās ir n = 1.

Uz lapas sākumu

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta aģentiem.

×