Önemli: Dikkat 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: CALL ve REGISTER işlevleri Web için Excel içinde kullanılamaz.
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.
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 ifade (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 ifade (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 |
Üç 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 * |
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, D veri tipi kodunu Microsoft Windows'ta unsigned char far * olarak 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.
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.
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;
double array[1] ifadesi yalnızca tek öğeli bir dizi için depolama ortamı 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.
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 metin_türü bağımsız değişkeni için ">O"yu 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.
P Veri Türü
P veri türü, OPER yapısına yönelik bir işaretçidir. OPER yapısı 8 bayt veri ve ardından veri türünü belirten 2 baytlık tanımlayıcı içerir. P veri türüyle, BIR DLL işlevi veya kod kaynağı herhangi bir Microsoft Excel veri türünü alabilir ve döndürebilir.
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.
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.
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!")
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--birinci dışındaki bağımsız değişkenleri değiştirme olanağı yoktu > karakterini kullanıyordu. > karakteri Microsoft Excel 4.0 ve sonraki sürümlerde n = 1'le eşdeğerdedir.