Menggunakan fungsi CALL dan REGISTER

Penting: Artikel ini diterjemahkan oleh mesin, lihatlah notis penafian. Sila dapatkan versi Bahasa Inggeris artikel ini di sini sebagai rujukan anda

Penting: Awas    Tersalah edit daftaran boleh merosakkan sistem pengendalian anda dengan teruk dan memerlukan anda memasangnya semula. Microsoft tidak menjamin bahawa masalah yang berlaku akibat mengedit daftaran dengan tidak betul dapat diselesaikan. Sebelum mengedit daftaran, sandarkan sebarang data yang bernilai. Untuk maklumat terkini tentang penggunaan dan perlindungan daftaran komputer anda, lihat Bantuan Microsoft Windows.

Artikel ini memerihalkan sintaks formula dan penggunaan fungsi CALL, REGISTER dan REGISTER.ID dalam Excel.

Nota: Fungsi CALL dan REGISTER tidak tersedia dalam Excel Online.

Dalam artikel ini

Perihalan

Jenis data

Catatan

Maklumat Jenis Data Tambahan

Jenis Data F dan G

Jenis Data K

Jenis Data O

Jenis Data P

Jenis Data R — Memanggil Fungsi Microsoft Excel dari DLL

Fungsi Meruap dan Pengiraan Semula

Mengubah suai dalam Tempat — Fungsi Diisytiharkan sebagai Tak Sah

Perihalan

Perkara berikut memerihalkan argumen dan jenis data nilai kembali yang digunakan oleh fungsi CALL, REGISTER dan REGISTER.ID. Argumen dan nilai kembali adalah sedikit berbeza bergantung pada persekitaran pengendalian anda dan perbezaan ini dinyatakan dalam jadual jenis data.

Halaman Atas

Jenis Data

Dalam fungsi CALL, REGISTER dan REGISTER.ID, argumen type_text menentukan jenis data nilai kembali dan jenis data semua argumen kepada fungsi DLL atau sumber kod. Aksara pertama type_text menentukan jenis data nilai kembali. Baki aksara menunjukkan jenis data semua argumen. Contohnya, fungsi DLL yang mengembalikan nombor titik apung dan mengambil satu integer dan nombor titik apung sebagai argumen akan memerlukan "BIB" untuk argumen type_text.

Jadual berikut mengandungi senarai lengkap kod jenis data yang dikenali oleh Microsoft Excel, perihalan untuk setiap jenis data, cara argumen atau nilai kembali dihantar dan pengisytiharan lazim untuk jenis data dalam bahasa pemprograman C.

Kod

Perihalan

Dihantar mengikut

Pengisytiharan C

Satu

Logik
(FALSE = 0), TRUE = 1)

Nilai

short int

B

Nombor titik apung IEEE 8-bait

Nilai
(Windows)

Rujukan (Macintosh)

double
(Windows)

double * (Macintosh)

C

Rentetan ditamatkan nol (kepanjangan rentetan maksimum = 255)

Rujukan

char *

D

Rentetan dikira bait (bait pertama mengandungi kepanjangan rentetan, kepanjangan rentetan maksimum = 255 aksara)

Rujukan

Unsigned char *

E

Nombor titik apung IEEE 8-bait

Rujukan

double *

URL

Rentetan ditamatkan nol (kepanjangan rentetan maksimum = 255 aksara)

Rujukan (mengubah suai dalam tempat)

char *

G

Rentetan dikira bait (bait pertama mengandungi kepanjangan rentetan, kepanjangan rentetan maksimum = 255 aksara)

Rujukan (mengubah suai dalam tempat)

unsigned char *

H

Integer 2 bait tanpa tanda

Nilai

unsigned short int

I

Integer 2 bait bertanda

Nilai

short int

J

Integer 4 bait bertanda

Nilai

long int

K

Tatasusunan

Rujukan

FP *

L

Logik
(FALSE = 0, TRUE = 1)

Rujukan

short int *

M

Integer 2 bait bertanda

Rujukan

short int *

N

Integer 4 bait bertanda

Rujukan

long int *

O

Tatasusunan

Rujukan

Tiga argumen dihantar:
unsigned short int *
unsigned short int *
double [ ]

P

Struktur data Microsoft Excel OPER

Rujukan

OPER *

R

Struktur data Microsoft Excel XLOPER

Rujukan

XLOPER *

Halaman Atas

Catatan

  • Pengisytiharan bahasa C berdasarkan anggapan bahawa pengkompil anda lalai kepada 8 bait ganda, integer pendek 2 bait dan integer panjang 4 bait.

  • Dalam persekitaran pemprograman Microsoft Windows, semua penuding ialah penuding jauh. Contohnya, anda mesti mengisytiharkan kod jenis data D sebagai unsigned char far * dalam Microsoft Windows.

  • Semua fungsi dalam DLL dan sumber kod dipanggil dengan panggilan resam Pascal. Kebanyakan pengkompil C membenarkan anda menggunakan panggilan resam Pascal dengan menambahkan kata kunci Pascal pada pengisytiharan fungsi, seperti yang ditunjukkan dalam contoh yang berikut: pascal void main (rows,columns,a)

  • Jika sesuatu fungsi menggunakan jenis data yang dihantar mengikut rujukan untuk nilai kembalinya, anda boleh menghantar penuding nol sebagai nilai kembali. Microsoft Excel akan mentafsirkan penuding nol sebagai nilai ralat #NUM! .

Halaman Atas

Maklumat Jenis Data Tambahan

Seksyen ini mengandungi maklumat terperinci tentang jenis data F, G, K, O, P dan R serta maklumat lain tentang argumen type_text.

Jenis Data F dan G

Dengan jenis data F dan G, sesuatu fungsi dapat mengubah suai penimbal rentetan yang diperuntukkan oleh Microsoft Excel. Jika nilai kembali kod jenis ialah F atau G, Microsoft Excel mengabaikan nilai yang dikembalikan oleh fungsi. Sebaliknya, Microsoft Excel mencari senarai argumen fungsi untuk jenis data sepadan pertama (F atau G) dan mengambil kandungan terkini bagi penimbal rentetan yang diperuntukkan sebagai nilai kembali. Microsoft Excel memperuntukkan 256 bait untuk argumen, maka fungsi boleh mengembalikan rentetan yang lebih besar daripada yang diterima.

Halaman Atas

Jenis Data K

Jenis data K menggunakan penuding kepada struktur FP saiz pemboleh ubah. Anda mesti mentafsirkan struktur ini dalam DLL atau sumber kod seperti berikut:

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

Tatasusunan ganda double array[1] memperuntukkan storan hanya untuk tatasusunan unsur tunggal. Bilangan unsur dalam tatasusunan sebenar sama dengan bilangan baris didarab dengan bilangan lajur.

Halaman Atas

Jenis Data O

Jenis data O hanya boleh digunakan sebagai argumen, bukan sebagai nilai kembali. Jenis data O menghantar tiga item: penuding kepada bilangan baris dalam tatasusunan dan penuding kepada tatasusunan dua dimensi nombor titik apung.

Selain daripada mengembalikan nilai, sesuatu fungsi boleh mengubah suai tatasusunan yang dihantar oleh jenis data O. Untuk melakukan ini, anda boleh menggunakan ">O" sebagai argumen type_text. Untuk maklumat lanjut, lihat "Mengubah suai dalam Tempat — Fungsi Diisytiharkan sebagai Tak Sah" di bawah.

Jenis data O dicipta untuk keserasian langsung dengan Fortran DLL yang menghantar argumen mengikut rujukan.

Halaman Atas

Jenis Data P

Jenis Data P ialah penuding kepada struktur OPER. Struktur OPER mengandungi 8 bait data, diikuti dengan pengecam 2 bait yang menentukan jenis data. Dengan jenis data P, fungsi DLL atau sumber kod boleh mengambil dan mengembalikan sebarang jenis data Microsoft Excel.

Struktur OPER ditakrifkan seperti berikut:

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;

Medan jenis mengandungi salah satu nilai ini.

Jenis

Perihalan

Medan val untuk digunakan

1

Berangka

num

2

Rentetan (bait pertama mengandungi kepanjangan rentetan)

str

4

Boolean (logik)

bool

16

Ralat: nilai ralat ialah:

0#NULL!

7#DIV/0!

15#Value!

23#REF!

29#NAME?

36#NUM!

42#N/A

err

64

Tatasusunan

array

128

Argumen yang hilang

256

Sel kosong

Dua nilai terakhir hanya boleh digunakan sebagai argumen, bukan nilai kembali. Nilai argumen yang hilang (128) dihantar apabila pemanggil mengabaikan argumen. Nilai sel kosong (256) dihantar apabila pemanggil menghantar rujukan kepada sel kosong.

Halaman Atas

Jenis Data R — Memanggil Fungsi Microsoft Excel dari DLL

Jenis data R ialah penuding kepada struktur XLOPER yang merupakan struktur OPER versi dipertingkatkan. Dalam Microsoft Excel versi 4.0 dan lebih baru, anda boleh menggunakan jenis data R untuk menulis DLL dan sumber kod yang dipanggil fungsi Microsoft Excel. Dengan struktur XLOPER, fungsi DLL boleh menghantar rujukan helaian dan melaksanakan kawalan aliran selain daripada menghantar data. Perihalan lengkap jenis data R dan antara muka pemprograman aplikasi (API) Microsoft Excel melangkaui skop topik ini. Panduan Pembangun Microsoft Office XP mengandungi maklumat terperinci tentang jenis data R, API Microsoft Excel dan pelbagai aspek teknikal Microsoft Excel yang lain.

Halaman Atas

Fungsi Meruap dan Pengiraan Semula

Microsoft Excel biasanya mengira fungsi DLL (atau sumber kod) hanya apabila dimasukkan ke dalam sel, apabila salah satu duluannya berubah atau apabila sel dikira semasa makro. Dalam lembaran kerja, anda boleh membuat fungsi DLL atau sumber kod meruap yang bermaksud ia mengira semula setiap kali lembaran kerja mengira semula. Untuk membuat sesuatu fungsi meruap, tambahkan tanda seru (!) sebagai aksara yang terakhir dalam argumen type_text.

Contohnya dalam Microsoft Excel untuk Windows, formula lembaran kerja berikut mengira semula setiap kali lembaran kerja mengira semula:

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

Halaman Atas

Mengubah suai dalam Tempat — Fungsi Diisytiharkan sebagai Tak Sah

Anda boleh menggunakan digit tunggal untuk jenis kod kembali dalam type_text yang n merupakan nombor dari 1 hingga 9. Langkah ini memberitahu Microsoft Excel mengubah suai pemboleh ubah dalam lokasi yang dituding kepada oleh argumen ke- dalam type_text dan bukannya mengembalikan nilai. Langkah ini juga dikenali sebagai mengubah suai dalam tempat. Argumen ke- mesti merupakan jenis data yang dihantar oleh rujukan (C, D, E, F, G, K, L, M, N, O, P atau R). Fungsi DLL atau sumber kod juga mesti diisytiharkan dengan kata kunci tak sah dalam bahasa C (atau kata kunci prosedur dalam bahasa Pascal).

Sebagai contoh, fungsi DLL yang mengambil rentetan ditamatkan nol dan dua penuding kepada integer sebagai argumen boleh mengubah suai rentetan dalam tempat. Gunakan "1FMM" sebagai argumen type_text dan mengisytiharkan fungsi sebagai tak sah.

Versi sebelum Microsoft Excel 4.0 menggunakan aksara > untuk mengubah suai argumen pertama dalam tempat; tiada cara yang lain untuk mengubah suai sebarang argumen selain daripada yang pertama. Aksara > sama dengan n = 1 dalam Microsoft Excel versi 4.0 dan lebih baru.

Halaman Atas

Nota: Notis Penafian Penterjemahan Mesin: Artikel ini telah diterjemah oleh sistem komputer tanpa campur tangan manusia. Microsoft menawarkan penterjemahan mesin ini untuk membantu pengguna-pengguna yang tidak bertutur dalam Bahasa Inggeris supaya dapat menikmati kandungan mengenai produk, perkhidmatan dan teknologi Microsoft. Artikel ini mungkin mengandungi ralat perbendaharaan kata, sintaks atau tatabahasa kerana ia diterjemahkan oleh mesin.

Kembangkan kemahiran anda
Jelajahi latihan
Dapatkan ciri baru terlebih dahulu
Sertai Office Insiders

Adakah maklumat ini membantu?

Terima kasih atas maklum balas anda!

Terima kasih atas maklum balas anda! Nampaknya ia mungkin akan membantu untuk menyambungkan anda kepada salah seorang daripada ejen sokongan Office kami.

×