Funkcijų CALL ir REGISTER naudojimas

Svarbu :  Šis straipsnis išverstas naudojant mašininį vertimą, žr. atsakomybės atsisakymą. Su šio straipsnio versija anglų kalba galite susipažinti čia .

Svarbu : Dėmesio    Neteingai koreguodami registrą, galite labai pakenkti operacinei sistemai ir ją reikės įdiegti iš naujo. „Microsoft“ negali garantuoti, kad dėk netinkamo registro koregavimo kilusias problemas galima išspręsti. Prieš redaguodami registrą sukurkite atsarginę visų vertingų duomenų kopiją. Norėdami sužinoti naujausios informacijos apie kompiuterio registro naudojimą ir apsaugą, žr. „Microsoft Windows“ žinyną.

Šiame straipsnyje aprašoma formulės sintaksė ir CALL, REGISTER ir REGISTER.ID naudojimas programoje „Microsoft Excel“.

Pastaba :  Funkcijos CALL ir REGISTER negalimos „Excel Online“.

Šiame straipsnyje:

Aprašas

Duomenų tipai

Pastabos

Papildoma duomenų tipų informacija

Duomenų tipai F ir G

Duomenų tipas K

Duomenų tipas O

Duomenų tipas P

Duomenų tipas R – iškviečia „Microsoft Excel“ funkcijas iš DLL

Kintamosios funkcijos ir perskaičiavimas

Modifikavimas vietoje – funkcijos deklaruotos kaip negaliojančios

Aprašas

Toliau aprašyti argumentai ir grąžinamų reikšmių duomenų tipai, naudojami funkcijų CALL, REGISTER ir REGISTER.ID. Argumentai ir grąžinamos reikšmės šiek tiek skiriasi priklausomai nuo operacinės aplinkos ir šie skirtumai yra nurodyti duomenų tipų lentelėje.

Puslapio viršus

Duomenų tipai

Funkcijose CALL, REGISTER ir REGISTER.ID tipo_teksto argumentas nurodo grąžinamos reikšmės duomenų tipą ir visų DLL funkcijai ar kodų ištekliams reikalingų argumentų duomenų tipus. Pirmasis tipo_teksto simbolis nurodo grąžinamos reikšmės duomenų tipą. Likusieji simboliai nurodo visų argumentų duomenų tipus. Pvz., DLL funkcijai, grąžinančiai slankiojo kablelio skaičių ir kaip argumentus naudojančiai sveikąjį skaičių ir slankiojo kablelio skaičių, reikėtų BIB tipo_teksto argumento.

Šioje lentelėje pateiktas išsamus Microsoft Excel atpažįstamų duomenų tipų kodų sąrašas, kiekvieno duomenų tipo aprašas, argumento ar grąžinamos vertės perdavimo būdas ir tipinis duomenų tipo deklaravimas C programavimo kalboje.

Kodas

Aprašas

Perduoti su

C deklaracija

A

Loginė
(FALSE = 0), TRUE = 1)

Reikšmė

trumpas sveikasis skaičius

B

IEEE 8 baitų slankiojo kablelio skaičius

Reikšmė
(Windows)

Nuoroda (Macintosh)

dvigubai
(Windows)

dvigubai * (Macintosh)

C

Nuliu besibaigianti eilutė (maksimalus eilutės ilgis = 255)

Nuoroda

simb. *

D

Baitus skaičiuojanti eilutė (pirmajame baite yra eilutės ilgis, maksimalus eilutės ilgis = 255 simboliai)

Nuoroda

Nepasirašytas simb. *

E

IEEE 8 baitų slankiojo kablelio skaičius

Nuoroda

dvigubai *

F

Nuliu besibaigianti eilutė (maksimalus eilutės ilgis = 255 simboliai)

Nuoroda (modifikuoti vietoje)

simb. *

G

Baitus skaičiuojanti eilutė (pirmajame baite yra eilutės ilgis, maksimalus eilutės ilgis = 255 simboliai)

Nuoroda (modifikuoti vietoje)

nepasirašytas simb. *

H

Nepasirašytas 2 baitų sveikasis skaičius

Reikšmė

Nepasirašytas trumpas sveikasis skaičius

I

Pasirašytas 2 baitų sveikasis skaičius

Reikšmė

trumpas sveikasis skaičius

J

Pasirašytas 4 baitų sveikasis skaičius

Reikšmė

ilgas sveikasis skaičius

K

Masyvas

Nuoroda

FP *

L

Loginė
(FALSE = 0, TRUE = 1)

Nuoroda

trumpas sveikasis skaičius *

M

Pasirašytas 2 baitų sveikasis skaičius

Nuoroda

trumpas sveikasis skaičius *

N

Pasirašytas 4 baitų sveikasis skaičius

Nuoroda

ilgas sveikasis skaičius *

O

Masyvas

Nuoroda

Perduodami trys argumentai:
nepasirašytas trumpasis sveikasis skaičius *
nepasirašytas trumpasis sveikasis skaičius *
dvigubas [ ]

P

Microsoft Excel OPER duomenų struktūra

Nuoroda

OPER *

R

Microsoft Excel XLOPER duomenų struktūra

Nuoroda

XLOPER *

Puslapio viršus

Pastabos

  • C kalbos deklaracijos yra pagrįstos prielaida, kad kompiliatorius pagal numatytąją reikšmę 8 baitus skiria dvigubiems simboliams, 2 baitus – trumpiems sveikiesiems skaičiams ir 4 baitus – ilgiems sveikiesiems skaičiams.

  • Microsoft Windows programinėje aplinkoje visi žymikliai yra kaip far loginės rodyklės. Pvz., Microsoft Windows sistemoje D duomenų tipo kodą turite deklaruoti kaip unsigned char far *.

  • Visos funkcijos DLL funkcijose ir kodo ištekliuose yra iškviečiamos naudojant Pascal iškvietimo susitarimą. Dauguma C kompiliatorių leidžia jums naudoti Paskalio iškvietimo susitarimą įtraukiant į funkcijos deklaraciją Paskalio raktažodį, kaip parodyta šiame pavyzdyje: pascal void main (rows,columns,a)

  • Jei funkcija grąžindama reikšmę naudoja perduodamų pagal nuorodą duomenų tipą, kaip grąžinamąją reikšmę galite perduoti nulinę loginę rodyklę, kurią Microsoft Excel interpretuos kaip klaidos reikšmę #NUM!.

Puslapio viršus

Papildoma duomenų tipų informacija

Šiame skyriuje yra išsami informacija apie duomenų tipus F, G, K, O, P ir R bei kita informacija apie argumentą tipo_tekstas.

Duomenų tipai F ir G

Pagal duomenų tipus F ir G funkcija gali modifikuoti tarpinę eilutę, priskirtą programos Microsoft Excel. Jei grąžinamosios reikšmės tipo kodas yra F arba G, Microsoft Excel nepaiso reikšmės, kurią grąžina funkcija. Tuomet Microsoft Excel ieško funkcijų argumentų sąrašo pirmam atitinkančiam duomenų tipui (F arba G) ir po to paima dabartinę priskirtą tarpinę eilutę kaip grąžinamąją reikšmę. Microsoft Excel argumentui paskiria 256 baitus, todėl funkcija gali grąžinti didesnę eilutę, nei gavo.

Puslapio viršus

Duomenų tipas K

Duomenų tipas K naudoja loginę rodyklę į kintamojo dydžio FP struktūrą. Šią struktūrą turite apibrėžti DLL funkcijoje ar kodo ištekliuose taip, kaip parodyta toliau:

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

Deklaracijos double array[1] paskiria atminties vietą tik vieno elemento masyvui. Elementų skaičius tikrajame masyve yra lygus eilučių skaičiui, padaugintam iš stulpelių skaičiaus.

Puslapio viršus

Duomenų tipas O

Duomenų tipas O gali būti naudojamas tik kaip argumentas, bet ne kaip grąžinamoji reikšmė. Jis perduoda tris elementus: loginę rodyklę į eilučių skaičių masyve, loginę rodyklę į stulpelių skaičių masyve ir loginę rodyklę į dviejų dimensijų masyvą iš skaičių su slankiuoju kableliu.

Vietoje reikšmės grąžinimo funkcija gali modifikuoti masyvą, perduotą duomenų tipo O. Tam kaip argumentą tipo_tekstas galite naudoti ">O". Jei reikia daugiau informacijos, žr. temą „Modifikavimas vietoje – funkcijos, deklaruotos kaip negaliojančios" toliau.

Duomenų tipas O buvo sukurtas tiesioginiam suderinamumui su Fortran DLL funkcijomis, kurios argumentus perduoda pagal nuorodą.

Puslapio viršus

Duomenų tipas P

Duomenų tipas P yra loginė rodyklė į OPER struktūrą. OPER struktūra turi 8 baitus duomenų, po kurių eina 2 baitų identifikatorius, nurodantis duomenų tipą. Naudodama duomenų tipą P, DLL funkcija ar kodo ištekliai gali gauti ir grąžinti bet kurį Microsoft Excel duomenų tipą.

OPER struktūra yra apibrėžiama taip:

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;

Tipo lauke yra viena iš šių reikšmių.

Tipas

Aprašas

Naudojamas reikšmės (val) laukas

1

Skaitinis

num

2

Eilutė (pirmajame baite yra eilutės ilgis)

str

4

Bulio loginė reikšmė

bool

16

Klaida: galimos klaidos reikšmės:

0#NULL!

7#DIV/0!

15#Value!

23#REF!

29#NAME?

36#NUM!

42#N/A

err

64

Masyvas

masyvas

128

Nenurodytas argumentas

256

Tuščias langelis

Paskutinės dvi reikšmės gali būti naudojamos tik kaip argumentai, o ne grąžinamosios reikšmės. Nenurodyto argumento reikšmė (128) yra perduodama tada, kai funkcijos kvietėjas nenurodo kurio nors argumento. Tuščio langelio reikšmė (256) yra perduodama, kai funkcijos kvietėjas perduoda nuorodą į tuščią langelį.

Puslapio viršus

Duomenų tipas R - iškviečia Microsoft Excel funkcijas iš DLL

Duomenų tipas R yra loginė rodyklė į XLOPER struktūrą, kuri yra išplėstinė OPER struktūros versija. Microsoft Excel 4.0 ir vėlesnėse versijose duomenų tipą R galite naudoti rašyti DLL funkcijoms ir kodų ištekliams, iškviečiantiems Microsoft Excel funkcijas. Naudodama XLOPER struktūrą, DLL funkcija gali perduoti ne tik duomenis, bet ir lapo nuorodas ir vykdyti srauto kontrolę. Išsamus duomenų tipo R ir Microsoft Excel taikomojo programavimo sąsajos (API) aprašymas yra kita tema ir todėl čia nepateiktas. Microsoft Office XP programuotojo vadove rasite išsamesnės informacijos apie duomenų tipą R, Microsoft Excel API ir kitus Microsoft Excel techninius aspektus.

Puslapio viršus

Kintamosios funkcijos ir perskaičiavimas

Programa Microsoft Excel dažniausiai DLL funkciją (ar kodo išteklius) skaičiuoja tik tada, kai ji yra įvedama į langelį, kai pasikeičia vienas iš jos pirminių narių arba kai langelis yra perskaičiuojamas vykdant makrokomandą. Darbalapyje galite nustatyti, kad DLL funkcija ar kodų ištekliai būtų kintami, t. y., jie būtų perskaičiuojami kaskart, kai perskaičiuojamas darbalapis. Jei funkciją norite nustatyti kaip kintamą, argumento tipo_tekstas pabaigoje pridėkite šauktuką (!) kaip paskutinį simbolį.

Pvz., programoje Microsoft Excel (Windows), tokia darbalapio formulė perskaičiuojama kas kartą, kai perskaičiuojamas darbalapis:

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

Puslapio viršus

Modifikavimas vietoje – funkcijos deklaruotos kaip negaliojančios

Vieną skaitmenį n galite naudoti grąžinimo tipo kodui argumente tipo_tekstas, kai n yra skaitmuo nuo 1 iki 9. Jis nurodo programai Microsoft Excel ne grąžinti reikšmę, o modifikuoti kintamąjį vietoje, kurią tipo_tekste nurodo n-is argumentas. Tai ar yra vadinama modifikavimu vietoje. N-is argumentas turi būti perduodamo pagal nuorodą duomenų tipo (C, D, E, F, G, K, L, M, N, O, P arba R). DLL funkcija arba kodų ištekliai taip pat turi būti deklaruoti su negaliojimo raktažodžiu C kalba (arba procedūros raktažodžiu Paskalio kalba).

Pvz., DLL funkcija, kuri kaip argumentus gauna nuliu besibaigiančią eilutę ir dvi logines rodykles į sveikuosius skaičius, eilutę gali modifikuoti vietoje. Kaip argumentą tipo_tekstas naudokite 1FMM ir deklaruokite funkciją kaip negaliojančią.

Versijose, ankstesnėse už Microsoft Excel 4.0, pirmajam argumentui modifikuoti vietoje yra naudojama simbolis >, tose versijose nebuvo jokios galimybės modifikuoti ne pirmąjį, o kurį nors kitą argumentą. Simbolis > yra lygiavertis n = 1 programoje Microsoft Excel 4.0 ir vėlesnėse jos versijose.

Puslapio viršus

Pastaba : Mašininio vertimo atsakomybės atsisakymas: Šis straipsnis išverstas naudojant kompiuterinę sistemą be žmogaus įsikišimo. „Microsoft“ pateikia šiuos mašininius vertimus norėdama padėti anglų kalbos nesuprantantiems vartotojams perskaityti turinį apie „Microsoft“ produktus, paslaugas ir technologijas. Šis straipsnis išverstas mašininio vertimo būdu, todėl jame gali būti žodyno, sintaksės ar gramatikos klaidų.

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×