Applies ToExcel für Microsoft 365 Excel für Microsoft 365 für Mac Excel für das Web Excel 2024 Excel 2024 für Mac Excel 2021 Excel 2021 für Mac Excel 2019 Excel 2016 Excel für iPad Excel für iPhone Excel für Android-Tablets Excel für Android-Smartphones

Wichtig:  Vorsicht    Durch falsches Bearbeiten der Registrierung kann es zu einer ernsthaften Beschädigung des Betriebssystems kommen und eine Neuinstallation erforderlich sein. Microsoft kann keine Garantie dafür übernehmen, dass Probleme aufgrund einer falschen Bearbeitung der Registrierung behoben werden können. Sichern Sie vor dem Bearbeiten der Registrierung alle wertvollen Daten. Neueste Informationen zum Verwenden und Schützen der Registrierung auf Ihrem Computer finden Sie in der Hilfe zu Microsoft Windows.

In diesem Artikel werden die Formelsyntax und die Verwendung der Funktionen AUFRUFEN, REGISTER und REGISTER.KENNUMMER in Microsoft Excel beschrieben.

Hinweis:  Die Funktionen AUFRUFEN und REGISTER stehen in Excel für das Web nicht zur Verfügung.

Inhalt dieses Artikels

Beschreibung

Im Folgenden werden die Datentypen von Argumenten und Rückgabewerten beschrieben, die von den Funktionen AUFRUFEN, REGISTER und REGISTER.KENNUMMER verwendet werden. Argumente und Rückgabewerte unterscheiden sich geringfügig je nach ihrer Betriebssystemumgebung, und in der Tabelle "Datentypen" wird auf diese Unterschiede hingewiesen.

Seitenanfang

Datentypen

In den Funktionen AUFRUFEN, REGISTER und REGISTER.KENNUMMER gibt das Argument "Typ" den Datentyp des Rückgabewerts und die Datentypen aller Argumente an die DLL-Funktion oder die Coderessource zurück. Das erste Zeichen des Arguments "Typ" gibt den Datentyp des Rückgabewerts an. Die übrigen Zeichen geben die Datentypen aller Argumente an. Beispiel: Bei einer DLL-Funktion, die eine Gleitkommazahl zurückgibt sowie eine Ganzzahl und eine Gleitkommazahl als Argumente verwendet, müsste als "Typ"-Argument "LITERATURVERZEICHNIS" angegeben werden.

Die folgende Tabelle enthält eine vollständige Liste der von Microsoft Excel akzeptierten Datentypcodes, Beschreibungen zu allen Datentypen, Erläuterungen, wie das jeweilige Argument oder der Rückgabewert übergeben wird, sowie eine typische Deklaration des Datentyps in der Programmiersprache C.

Code

Beschreibung

Übergabe

C-Deklaration

A

Wahrheitswert(FALSCH = 0), WAHR = 1)

Wert

short int

B

IEEE 8-Byte-Gleitkommazahl

Wert(Windows)

Referenz (Macintosh)

double (Windows)

double * (Macintosh)

C

Mit Null beendete Zeichenfolge (maximale Länge der Zeichenfolge = 255 Zeichen)

Referenz

char *

D

Zeichenfolge mit Bytezähler (das erste Byte gibt die Länge der Zeichenfolge an, maximale Länge der Zeichenfolge = 255 Zeichen)

Referenz

Unsigned char *

E

IEEE 8-Byte-Gleitkommazahl

Referenz

double *

F

Mit Null beendete Zeichenfolge (maximale Länge der Zeichenfolge = 255 Zeichen)

Referenz (an Ort und Stelle ändern)

char *

G

Zeichenfolge mit Bytezähler (das erste Byte gibt die Länge der Zeichenfolge an, maximale Länge der Zeichenfolge = 255 Zeichen)

Referenz (an Ort und Stelle ändern)

unsigned char *

H

Aus 2 Bytes bestehende ganze Zahl ohne Vorzeichen

Wert

unsigned short int

I

Aus 2 Bytes bestehende ganze Zahl mit Vorzeichen

Wert

short int

J

Aus 4 Bytes bestehende ganze Zahl mit Vorzeichen

Wert

long int

K

Matrix

Referenz

FP *

L

Wahrheitswert(FALSCH = 0, WAHR = 1)

Referenz

short int *

M

Aus 2 Bytes bestehende ganze Zahl mit Vorzeichen

Referenz

short int *

N

Aus 4 Bytes bestehende ganze Zahl mit Vorzeichen

Referenz

long int *

O

Matrix

Referenz

Es werden drei Argumente übergeben:unsigned short int *unsigned short int *double [ ]

P

Microsoft Excel-Datenstruktur OPER

Referenz

OPER *

R

Microsoft Excel-Datenstruktur XLOPER

Referenz

XLOPER *

Seitenanfang

Hinweise

  • Für die in der Sprache C angegebenen Deklarationen wird vorausgesetzt, dass Ihr Compiler mit folgenden Standards arbeitet: Zahlen doppelter Genauigkeit (double) bestehen aus 8 Bytes, kurze ganze Zahlen (short int) aus 2 Bytes und lange ganze Zahlen (long int) aus 4 Bytes.

  • Alle Zeiger innerhalb der Programmierumgebung von Microsoft Windows sind Far-Zeiger. Zum Beispiel müssen Sie innerhalb von Microsoft Windows den Datentyp D als unsigned char far * deklarieren.

  • Alle zu einer DLL-Datei oder einer Coderessource gehörenden Funktionen werden gemäß der Pascal-Aufrufvereinbarung aufgerufen. Die meisten C-Compiler ermöglichen Ihnen die Verwendung der Pascal-Aufrufvereinbarung, indem sie die Deklaration der jeweiligen Funktion um das Pascal-Schlüsselwort erweitern, wie dies im folgenden Beispiel gezeigt ist: pascal void main (rows,columns,a)

  • Wenn eine Funktion als Rückgabewert einen Datentyp verwendet, der per Referenz übergeben wird, können Sie einen Nullzeiger als Rückgabewert übergeben. Microsoft Excel interpretiert den Nullzeiger als Fehlerwert "#ZAHL!".

Seitenanfang

Zusätzliche Informationen zu einigen Datentypen

Dieser Abschnitt enthält ausführliche Informationen zu den Datentypen F, G, K, O, P und R sowie zusätzliche Informationen zum Argument Datentyp.

Datentypen F und G

Mit den Datentypen F und G kann eine Funktion Änderungen an einem Puffer vornehmen, den Microsoft Excel für eine Zeichenfolge reserviert hat. Hat der Rückgabecode den Datentyp F oder G, ignoriert Microsoft Excel den von der Funktion gelieferten Wert. Stattdessen durchsucht Microsoft Excel die Liste der Funktionsargumente nach dem ersten übereinstimmenden Datentyp (F oder G) und nimmt dann den aktuellen Inhalt des für die Zeichenfolge reservierten Puffers als Rückgabewert. Da Microsoft Excel für ein solches Argument 256 Bytes reserviert, können die von einer Funktion zurückgegebenen Zeichenfolgen länger sein als die an die Funktion übergebenen Zeichenfolgen.

Seitenanfang

Datentyp K

Der Datentyp K verwendet einen Zeiger, der auf eine FP-Struktur variabler Größe zeigt. Innerhalb einer DLL-Datei oder Coderessource müssen Sie diese Struktur wie folgt definieren:

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

Die Deklaration double array[1] reserviert Speicherplatz für eine aus lediglich einem Element bestehende Matrix. Die Anzahl von Elementen einer Matrix wird normalerweise berechnet, indem die Anzahl von Zeilen mit der Anzahl von Spalten multipliziert wird.

Seitenanfang

Datentyp O

Der Datentyp O kann nur für Argumente und nicht für Rückgabewerte verwendet werden. Er übergibt drei Elemente: je einen Zeiger auf die Anzahl von Zeilen bzw. Spalten der jeweiligen Matrix sowie einen Zeiger auf eine zweidimensionale Matrix, die Gleitkommazahlen enthält.

Anstatt einen Wert zurückzugeben, kann eine Funktion eine mithilfe des Datentyps O übergebene Matrix bearbeiten. Damit dies geschieht, können Sie beispielsweise für das Argument "Datentyp" die Zeichenfolge ">O" verwenden. Weitere Informationen finden Sie unten unter "Ändern an Ort und Stelle - als "void" deklarierte Funktionen".

Der Datentyp O wurde eingeführt, um eine direkte Kompatibilität mit Fortran-DLL-Dateien zu erreichen, die Argumente per Referenz übergeben.

Seitenanfang

Datentyp P

Der Datentyp P ist ein Zeiger auf eine OPER-Struktur. Die Struktur OPER enthält 8 Datenbytes, auf die ein aus 2 Bytes bestehender Bezeichner folgt, der den Typ der Daten angibt. Bei Verwendung des Datentyps P kann eine DLL-Funktion oder Coderessource jeden Microsoft Excel-Datentyp entgegennehmen oder zurückgeben.

Die Struktur OPER ist wie folgt definiert:

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;

Das Feld "type" enthält einen der folgenden Werte.

Inhalt von "type"

Beschreibung

Zu verwendendes "val"-Feld

1

Zahl (numerisch)

num

2

Zeichenfolge (String, das erste Byte gibt die Länge der Zeichenfolge an)

str

4

Wahrheitswert (boolesch)

bool

16

Fehler. Die Fehlerwerte sind:

0#NULL!

7#DIV/0!

15#WERT!

23#BEZUG!

29#NAME?

36#ZAHL!

42#NV

err

64

Matrix (Array)

array

128

Argument fehlt

256

Leere Zelle

Die beiden letzten Werte können nur als Argumente, nicht als Rückgabewerte verwendet werden. Der Wert 128 (Argument fehlt) wird übergeben, wenn innerhalb des Aufrufs ein Argument fehlt. Der Wert 256 (Leere Zelle) wird übergeben, wenn das aufrufende Element einen Bezug auf eine leere Zelle übergibt.

Seitenanfang

Datentyp R: Aufrufen von Microsoft Excel-Funktionen aus DLL-Dateien

Der Datentyp R ist ein Zeiger auf eine XLOPER-Struktur, die eine erweiterte Version der OPER-Struktur darstellt. In Microsoft Excel, Version 4.0 oder höher, können Sie den Datentyp R verwenden, um DLL-Dateien und Coderessourcen zu schreiben, aus denen Microsoft Excel-Funktionen aufgerufen werden. Mit der XLOPER-Struktur kann eine DLL-Funktion zusätzlich zu der Übergabe von Daten Blattbezüge übergeben und Flusssteuerungen implementieren. Eine umfassende Beschreibung des Datentyps R sowie der für Microsoft Excel definierten Schnittstelle für Anwendungsprogrammierung (API) würde den Rahmen dieses Themas sprengen. Im Microsoft Office XP Entwicklerhandbuch finden Sie ausführliche Informationen zum Datentyp R, zur Microsoft Excel-API und vielen anderen technischen Aspekten von Microsoft Excel.

Seitenanfang

Veränderliche Funktionen und Neuberechnungen

Normalerweise berechnet Microsoft Excel eine DLL-Funktion (oder eine Coderessource) nur dann, wenn sie in eine Zelle eingegeben wird, sich eine ihrer übergeordneten Funktionen ändert oder die Zelle während des Ausführens eines Makros berechnet wird. Sie können für ein Arbeitsblatt erzwingen, dass eine DLL-Funktion oder Coderessource immer berechnet wird, was gleichbedeutend damit ist, dass sie jedes Mal dann neu berechnet wird, wenn das Arbeitsblatt neu berechnet wird. Um dies zu erreichen, müssen Sie ein Ausrufezeichen (!) als letztes Zeichen an das Argument "Datentyp" anfügen.

In Microsoft Excel für Windows wird beispielsweise die folgende Arbeitsblattformel jedes Mal neu berechnet, wenn das zugehörige Arbeitsblatt neu berechnet wird:

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

Seitenanfang

Ändern an Ort und Stelle – Als "void" deklarierte Funktionen

Für die Angabe des Datentyps des jeweiligen Rückgabewerts können Sie in "Datentyp" auch eine Zahl "n" verwenden, wobei "n" die Werte 1 bis 9 annehmen kann. Dadurch wird Microsoft Excel angewiesen, nicht wie üblich einen Wert zurückzugeben, sondern die Variable zu ändern, welche die Position einnimmt, auf die das "n"-te Argument von "Datentyp" zeigt. Dies wird auch als "Ändern an Ort und Stelle" bezeichnet. Das "n"-te Argument muss einer der Datentypen sein, die per Referenz übergeben werden (C, D, E, F, G, K, L, M, N, O, P oder R). Darüber hinaus muss die DLL-Funktion oder Coderessource in der Sprache C mit dem Schlüsselwort "void" deklariert sein (oder in Pascal mit dem Schlüsselwort "procedure").

Zum Beispiel kann eine DLL-Funktion, an die als Argument eine mit Null beendete Zeichenfolge sowie zwei auf ganze Zahlen zeigende Zeiger übergeben werden, diese Zeichenfolge an Ort und Stelle ändern. Verwenden Sie dazu für das Argument "Datentyp" die Zeichenfolge "1FMM", und deklarieren Sie die Funktion als "void".

Alle Versionen von Microsoft Excel, die älter als die Version 4.0 sind, verwenden das Größer-als-Zeichen (>), um das erste Argument an Ort und Stelle zu ändern. Bei diesen Versionen gibt es daher keine Möglichkeit, außer dem ersten Argument noch andere Argumente zu ändern. Das Zeichen ">" ist in Microsoft Excel, Version 4.0 und höher, identisch mit "n = 1".

Seitenanfang

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.