ÇAĞIR ve YAZMAÇ işlevlerini kullanma

Uygulandığı Öğe
Microsoft 365 için Excel Mac'te Microsoft 365 için Excel Excel 2024 Mac için Excel 2024 Excel 2021 Mac için Excel 2021 Excel 2019 Excel 2016 iPad için Excel iPhone için Excel Android tabletler için Excel Android telefonlar için Excel

Önemli

Önlem Kayıt defterinin yanlış düzenlenmesi, işletim sisteminize ciddi zarar vererek yeniden yüklemenizi gerektirebilir. Microsoft, kayıt defterinin hatalı düzenlenmesi sonucu ortaya çıkacak sorunların çözümlenebileceği garantisini veremez. Kayıt defterini düzenlemeden önce, önemli verileri yedekleyin. Bilgisayarınızın kayıt defterinin kullanımı ve korunmasıyla ilgili en yeni bilgiler için Microsoft Windows Yardımı'na bakın.

Bu makalede, Microsoft Excel'de ÇAĞIR, YAZMAÇ ve YAZMAÇ.KODU formül söz dizimi ve kullanımı açıklanmaktadır.

Not

ÇAĞIR ve YAZMAÇ işlevleri içinde kullanılamaz Web için Excel için Excel.

Bu makalede

Açıklama

Aşağıda ÇAĞIR, YAZMAÇ ve YAZMAÇ.KODU işlevlerinin kullandığı bağımsız değişken ve sonuç değeri veri tipleri açıklanmaktadır. Bağımsız değişkenler ve sonuç değerleri, işletim sisteminize bağlı olarak biraz farklı olabilir ve bu farklar veri tipi tablosunda belirtilmiştir.

Sayfanın Başı

Veri Tipleri

ÇAĞIR, YAZMAÇ ve YAZMAÇ.KODU işlevlerinde metin_türü bağımsız değişkeni, sonuç değerin veri tipini ve DLL işlevinin veya kod kaynağının tüm bağımsız değişkenlerinin veri tiplerini belirler. Metin_türünün ilk karakteri, sonuç değerin veri tipini belirler. Geri kalan karakterler tüm bağımsız değişkenlerin veri tiplerini belirtir. Örneğin, bir kayan nokta sayısı veren ve bağımsız değişkenler olarak bir tamsayı ve bir kayan nokta sayısı alan bir DLL işlevinin metin_türü bağımsız değişkeni "BIB" olmalıdır.

Aşağıdaki tablo Microsoft Excel'in tanıdığın veri tipi kodlarının eksiksiz bir listesini, her veri tipinin bir açıklamasını, bağımsız değişkenin veya sonuç değerin nasıl geçtiğini ve C programlama dilinde veri tipi için tipik bir ifade içermektedir.

Kod Açıklama Geçen C Bildirisi
A Mantıksal
(YANLIŞ = 0), DOĞRU = 1)
Değer short int
B IEEE 8-bayt kayan nokta türü sayı Değer
(Windows)
Başvuru (Macintosh)
double
(Windows)
double * (Macintosh)
C Sıfırla biten dizi (maksimum dizi uzunluğu = 255) Başvuru char *
İ Bayt sayılı dizi (ilk bayt dizinin uzunluğunu içerir, maksimum dizi uzunluğu = 255 karakter) Başvuru Unsigned char *
E IEEE 8-bayt kayan nokta türü sayı Başvuru double *
F Sıfırla biten dizi (maksimum dizi uzunluğu = 255 karakter) Başvuru(yerinde değiştirilmiş) char *
G Bayt sayılı dizi (ilk bayt dizinin uzunluğunu içerir, maksimum dizi uzunluğu = 255 karakter) Başvuru (yerinde değiştirilmiş) unsigned char *
H İşaretsiz 2 baytlık tamsayı Değer unsigned short int
I İşaretli 2 baytlık tamsayı Değer short int
J İşaretli 4 baytlık tamsayı Değer long int
K Dizi Başvuru FP *
L Mantıksal
(YANLIŞ = 0, DOĞRU = 1)
Başvuru short int *
M İşaretli 2 baytlık tamsayı Başvuru short int *
N İşaretli 4 baytlık tamsayı Başvuru long int *
O Dizi Başvuru Üç bağımsız değişken alındı:
unsigned short int *
unsigned short int *
double [ ]
P Microsoft Excel OPER veri yapısı Başvuru OPER *
R Microsoft Excel XLOPER veri yapısı Başvuru XLOPER *

Sayfanın Başı

Açıklamalar

  • C dili ifadeleri, derleyicinizin 8 bayt çift, 2 bayt kısa tamsayı ve 4 bayt uzun tamsayı olarak saptadığı varsayımını temel alır.
  • Microsoft Windows programlama ortamında, tüm imleçler uzak imleçlerdir. Örneğin, Microsoft Windows'ta D veri tipi kodunu * olarak unsigned char far ifade etmelisiniz.
  • DLL'lerdeki ve kod kaynaklarındaki tüm işlevler, Pascal çağırma yaklaşımı kullanılarak çağrılır. C derleyicilerinin çoğu, aşağıdaki örnekte gösterildiği gibi, işlev ifadesine pascal anahtar sözcüğünü ekleyerek Pascal çağırma yaklaşımını kullanmanıza izin verir: pascal void main (rows,columns,a)
  • Bir işlev sonuç değeri olarak bir pass-by-reference veri tipi kullanırsa, sonuç değeri olarak boş bir imleç geçebilirsiniz. Microsoft Excel boş imleci #SAYI! hata değeri olarak yorumlayacaktır.

Sayfanın Başı

Ek Veri Türleri Bilgisi

Bu kısım, F, G, K, O, P ve R veri tiplerine ilişkin ayrıntılı bilgi ve metin_türü bağımsız değişkeni hakkında başka bilgiler içermektedir.

F ve G Veri Türleri

F ve G veri türleriyle, bir işlev Microsoft Excel tarafından tahsis edilen bir dizi tamponunu değiştirebilir. Sonuç değeri tip kodu F veya G ise, Microsoft Excel işlev tarafından verilen değeri yoksayar. Bunun yerine, Microsoft Excel karşılık gelen ilk veri tipi (F veya G) için işlev bağımsız değişkenlerinin listesini arar ve sonra sonuç değeri olarak tahsis edilen dizi tamponunun geçerli içeriğini alır. Microsoft Excel bağımsız değişken için 256 bayt ayırır, böylelikle işlev aldığından daha büyük bir dizi verebilir.

Sayfanın Başı

K Veri Türü

K veri tipi değişken büyüklükte FP yapısı bir imleç kullanır. Bu yapıyı DLL'de veya kod kaynağında aşağıdaki gibi tanımlamanız gerekir:

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

Bildirim double array[1] , yalnızca tek öğeli bir dizi için depolama alanı ayırır. Gerçek dizideki öğelerin sayısı, satır sayısının sütun sayısıyla çarpımına eşittir.

Sayfanın Başı

O Veri Türü

O veri tipi yalnız bağımsız değişken olarak kullanılabilir, sonuç değeri olarak kullanılamaz. Üç öğe geçirir: bir dizideki satır sayısına bir imleç, bir dizideki sütun sayısına bir imleç ve iki boyutlu bir kayan nokta sayıları dizisine bir imleç.

Bir işlev, bir değer vermek yerine, O veri tipi tarafından geçirilen bir diziyi değiştirebilir. Bunu yapmak için type_text bağımsız değişkeni olarak ">O" kullanabilirsiniz. Daha fazla bilgi için aşağıda "Yerinde Değiştirme--Geçersiz Olduğu Bildirilen İşlevler"i inceleyin.

O veri tipi bağımsız değişkenleri, başvuruya göre geçiren FORTRAN DLL'leriyle doğrudan uyumluluk için oluşturulmuştur.

Sayfanın Başı

P Veri Türü

P veri tipi OPER yapısı imlecidir. OPER yapısı 8 bayt veri, ardından veri tipini belirten 2 baytlık bir tanımlayıcı içerir. P veri türüyle, bir DLL işlevi veya kod kaynağı herhangi bir Microsoft Excel veri tipini alabilir ve verebilir.

OPER yapısı aşağıdaki gibi tanımlanır:

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;

Tür alanı şu değerlerden birini içerir:

Tür Açıklama Kullanılacak Val alanı
1 Sayısal num
2 Dize (ilk bayt dize uzunluğunu içerir) str
4 Boole (mantıksal ifade) bool
16 Hata: hata değerleri:
0#BOŞ!
7#SAYI/0!
15#DEĞER!
23#BAŞV!
29#AD?
36#SAYI!
42#YOK
err
64 Dizi dizi
128 Eksik bağımsız değişken
256 Boş hücre

Son iki değer sonuç değerleri olarak değil, yalnızca bağımsız değişken olarak kullanılabilir. Çağıran, bağımsız değişkeni atladığında eksik bağımsız değişken değeri (128) geçilir. Çağıran boş bir hücreye olan bir başvuruyu geçtiğinde boş hücre değeri (256) geçilir.

Sayfanın Başı

R Veri Türü — Microsoft Excel İşlevlerini DLL'lerden Çağırma

R veri tipi, OPER yapısının genişletilmiş bir sürümü olan XLOPER yapısının bir imlecidir. Microsoft Excel sürüm 4.0 ve sonraki sürümlerde, Microsoft işlevlerini çağıran DLL'ler ve kod kaynakları yazmak için R veri tipini kullanabilirsiniz. XLOPER yapısıyla, bir DLL işlevi, veri geçmenin yanı sıra, tablo başvuruları geçebilir ve akış denetimi uygulayabilir. R veri türünün ve Microsoft Excel uygulama programlama arabiriminin (API) tam bir açıklaması bu konunun kapsamı dışındadır. Microsoft Office XP Developer's Guide, R veri tipi, Microsoft Excel API ve Microsoft Excel'in birçok başka teknik özelliği konusunda ayrıntılı bilgi içermektedir.

Sayfanın Başı

Geçici İşlevler ve Yeniden Hesaplama

Microsoft Excel bir DLL işlevini (veya kod kaynağını) yalnız bir hücre girildiğinde, etkileyenlerinden biri değiştiğinde veya bir makro sırasında bir hücre hesaplandığında hesaplar. Bir işlem tablosunda bir DLL işlevini veya kod kaynağını geçici yapabilirsiniz; bu durumda işlem tablosu her yeniden hesaplandığında o da yeniden hesaplanır. Bir işlevi geçici yapmak için metin_türü bağımsız değişkeninde son karakter olarak bir ünlem işareti (!) ekleyin.

Örneğin, Windows için Microsoft Excel'de, işlem tablosu her yeniden hesaplandığında aşağıdaki işlem tablosu formülü de yeniden hesaplanır:

ÇAĞIR("Kernel32","GetTickCount","J!")

Sayfanın Başı

Yerinde Değiştirme — Geçersiz Olduğu Bildirilen İşlevler

Metin_türünde sonuç tip kodu için tek basamaklı bir n kullanabilirsiniz; burada n, 1 ile 9 arasında bir sayıdır. Bu, Microsoft Excel'e bir değer vermek yerine, Metin_türündeki n. inci bağımsız değişken tarafından işaret edilen yerdeki değişkeni değiştirmesini söyler. Buna yerinde değiştirme de denir. N.inci bağımsız değişken bir imleç veri tipi olmalıdır (C, D, E, F, G, K, L, M, N, O, P veya R). DLL işlevi veya kod kaynağı C dilinde void anahtar sözcüğüyle (veya Pascal dilinde procedure anahtar sözcüğüyle) ifade edilmelidir.

Örneğin, bağımsız değişken olarak sıfırla biten bir dizi ve tamsayılara iki imleç alan bir DLL işlevi, diziyi yerinde değiştirebilir. Metin_türü bağımsız değişkeni olarak "1FMM"yi kullanın ve işlevi geçersiz olarak ifade edin.

Microsoft Excel'in 4.0'dan önceki sürümleri, birinci bağımsız değişkeni yerinde değiştirmek için karakteri > kullanıyordu; birinci dışındaki bağımsız değişkenleri değiştirmenin hiçbir yolu yoktu. Karakter > , Microsoft Excel 4.0 ve sonraki sürümlerde n = 1'e eşdeğerdir.

Sayfanın Başı