Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Excel 2013 | Office 2013 | Visual Studio
Kann von einer DLL oder einem XLL-Befehl aufgerufen werden, der selbst von Microsoft Excel aufgerufen wurde. Dies entspricht dem Aufrufen von REGISTER aus einem Excel XLM-Makroblatt.
xlfRegister kann in zwei Formen aufgerufen werden:
xlfRegister (Formular 1): Registriert einen einzelnen Befehl oder eine funktion.
xlfRegister (Formular 2): Lädt und aktiviert eine XLL.
Diese Funktion, die in Formular 1 aufgerufen wird, stellt eine DLL-Funktion oder einen Befehl für Excel zur Verfügung, legt ihre Nutzungsanzahl auf 1 fest und gibt ihre Registrierungs-ID zurück, die verwendet werden kann, um die Funktion später mithilfe der xlUDF - oder xlfCall-Funktion aufzurufen. Die Registrierungs-ID wird auch verwendet, um die Registrierung der Funktion mithilfe von xlfUnregister (Formular 1) aufzuheben. Wenn die Funktion registriert wurde, wird durch erneutes Aufrufen von xlfRegister die Nutzungsanzahl erhöht.
Diese Form der Funktion definiert auch einen ausgeblendeten Namen, der das Funktionstextargument pxFunctionText ist und zur Registrierungs-ID der Funktion oder des Befehls ausgewertet wird. Wenn Sie die Registrierung der Funktion aufheben, löschen Sie diesen Namen mithilfe von xlfSetName. Weitere Informationen finden Sie unter Bekannte Probleme bei der Excel-XLL-Entwicklung.
Excel12(xlfRegister, LPXLOPER12 pxRes, int iCount,
LPXLOPER12 pxModuleText, LPXLOPER12 pxProcedure,
LPXLOPER12 pxTypeText, LPXLOPER12 pxFunctionText,
LPXLOPER12 pxArgumentText, LPXLOPER12 pxMacroType,
LPXLOPER12 pxCategory, LPXLOPER12 pxShortcutText,
LPXLOPER12 pxHelpTopic, LPXLOPER12 pxFunctionHelp,
LPXLOPER12 pxArgumentHelp1, LPXLOPER12 pxArgumentHelp2,
...);
Parameter
pxModuleText (xltypeStr)
Der Name der DLL, die die Funktion enthält. Dies kann durch Aufrufen der nur XLL-Funktion xlGetName abgerufen werden, wenn sich die registrierte Funktion auch in der aktuell ausgeführten DLL befindet.
pxProcedure (xltypeStr oder xltypeNum)
Bei einer Zeichenfolge der Name der aufzurufenden Funktion, wie er im DLL-Code angezeigt wird. Wenn eine Zahl, die Ordinalexportnummer der aufzurufenden Funktion. Der Übersichtlichkeit halber verwenden Sie immer das Zeichenfolgenformular.
pxTypeText (xltypeStr)
Eine optionale Zeichenfolge, die die Typen von Argumenten für die Funktion und den Typ des Rückgabewerts der Funktion angibt. Weitere Informationen finden Sie unter "Anmerkungen". Dieses Argument kann für eine eigenständige DLL (XLL) weggelassen werden, die eine xlAutoRegister-Funktion oder xlAutoRegister12 enthält.
Hinweis
xlAutoRegister12 wird nur in Excel 2007 unterstützt.
Wenn xlfRegister mit fehlendem Argument aufgerufen wird, ruft Excel xlAutoRegister oder xlAutoRegister12 auf, sofern in der angegebenen DLL vorhanden ist, die dann die Funktion ordnungsgemäß registrieren sollte, indem diese Informationen bereitgestellt werden.
pxFunctionText (xltypeStr)
Der Funktionsname, wie er im Funktions-Assistenten angezeigt wird. Dieses Argument ist optional. wenn sie nicht angegeben wird, ist die Funktion im Funktions-Assistenten nicht verfügbar und kann nur mit der CALL-Funktion aufgerufen werden, indem die Funktionsregistrierungs-ID aus einem XLM-Makroblatt verwendet wird. Daher sollten Sie für gewöhnliche Arbeitsblätter dieses Argument nach Bedarf behandeln.
pxArgumentText (xltypeStr)
Eine optionale Textzeichenfolge, die die Argumente für die Funktion beschreibt. Dies wird dem Benutzer im Funktions-Assistenten angezeigt. Wenn sie nicht angegeben wird, erstellt Excel grundlegende Beschreibungen aus pxTypeText.
pxMacroType (xltypeNum oder xltypeInt)
Ein optionales Argument, das den Typ des XLL-Einstiegspunkts angibt. Wenn er nicht angegeben wird, ist der Standardwert 1.
pxMacroType-Wert |
0 |
1 |
2 |
---|---|---|---|
Kann von einem Arbeitsblatt aufgerufen werden |
Ja |
Ja |
Nein |
Kann von einem Makroblatt aufgerufen werden |
Ja |
Ja |
Ja |
Kann aus einer definierten Namensdefinition aufgerufen werden |
Ja |
Ja |
Ja |
Kann von einem bedingten Formatausdruck aufgerufen werden |
Ja |
Ja |
Nein |
Im Funktions-Assistenten für Arbeitsblattfunktionen aufgeführt |
Nein |
Ja |
Nein |
Im Funktions-Assistenten für Makroblattfunktionen aufgeführt |
Nein |
Ja |
Ja |
In der Praxis sollten Sie 1 für Arbeitsblattfunktionen, 1 für äquivalente Makroblattfunktionen (registriert als Typ #) verwenden, die Sie aus dem Arbeitsblatt aufrufen möchten, und 2 für Befehle.
Hinweis
XLL-Befehle werden ausgeblendet und nicht in Dialogfeldern zum Ausführen von Makros angezeigt, obwohl ihre Namen überall eingegeben werden können, wo ein gültiger Befehlsname erforderlich ist.
pxCategory (xltypeStr oder xltypeNum)
Ein optionales Argument, mit dem Sie angeben können, zu welcher Kategorie die neue Funktion oder der neue Befehl gehören soll. Der Funktions-Assistent unterteilt Funktionen nach Typ (Kategorie). Sie können einen Kategorienamen oder eine sequenzielle Zahl angeben, wobei die Zahl die Position ist, an der die Kategorie im Funktions-Assistenten angezeigt wird. Weitere Informationen finden Sie im Abschnitt "Kategorienamen". Wenn sie nicht angegeben wird, wird die Benutzerdefinierte Kategorie angenommen.
pxShortcutText (xltypeStr)
Eine einstellige Zeichenfolge, bei der die Groß-/Kleinschreibung beachtet wird, die den diesem Befehl zugewiesenen Steuerschlüssel angibt. Beispielsweise weist "A" diesen Befehl CTRL+UMSCHALT+A zu. Dieses Argument ist optional und wird nur für Befehle verwendet.
pxHelpTopic (xltypeStr)
Ein optionaler Verweis auf die Hilfedatei (CHM oder HLP), die angezeigt wird, wenn der Benutzer auf die Schaltfläche Hilfe klickt (wenn Ihre benutzerdefinierte Funktion angezeigt wird). Kann im Format filepath!HelpContextID
oder https://address/path_to_file_in_site!0
vorliegen. Beide Teile vor und nach dem "!" sind erforderlich.
HelpContextID darf keine einfachen Anführungszeichen enthalten und wird von Excel in eine ganze Zahl ohne Vorzeichen konvertiert, die 4 Byte lang und in Dezimalform ist. Wenn Sie das URL-Formular verwenden, öffnet Excel nur die Hilfedatei, auf die verwiesen wird.
pxFunctionHelp (xltypeStr)
Eine optionale Zeichenfolge, die Ihre benutzerdefinierte Funktion beschreibt, wenn sie im Funktions-Assistenten ausgewählt ist.
pxArgumentHelp1 (xltypeStr)
Optional. Die erste der Zeichenfolgen, die die benutzerdefinierten Argumente der Funktion beschreiben, wenn die Funktion im Funktions-Assistenten ausgewählt ist. In Excel 2003 und früheren Versionen kann xlfRegister höchstens 30 Argumente annehmen, sodass Sie diese Hilfe nur für die ersten 20 Ihrer Funktionsargumente bereitstellen können. Ab Excel 2007 kann xlfRegister bis zu 255 Argumente aufnehmen, sodass Sie diese Hilfe für bis zu 245 Funktionsparameter bereitstellen können.
Eigenschaftswert/Rückgabewert
Wenn die Registrierung erfolgreich war, gibt diese Funktion die Register-ID der Funktion (xltypeNum) zurück, die in Aufrufen von xlUDF und xlfUnregister in einer DLL oder mit CALL und UNREGISTER in einem XLM-Makroblatt verwendet werden kann. Andernfalls wird eine #VALUE! zurück.
Hinweise
Datentypen
Das pxTypeText-Argument gibt den Datentyp des Rückgabewerts und die Datentypen aller Argumente für die DLL-Funktion oder Coderessource an. Das erste Zeichen von pxTypeText gibt den Datentyp des Rückgabewerts an. Die übrigen Zeichen geben die Datentypen aller Argumente an. Beispielsweise erfordert eine DLL-Funktion, die eine Gleitkommazahl zurückgibt und eine ganze Zahl und eine Gleitkommazahl als Argumente akzeptiert, "BIB" für das pxTypeText-Argument .
Die Datentypen und Strukturen, die von Excel zum Austauschen von Daten mit XLLs verwendet werden, sind in den folgenden beiden Tabellen zusammengefasst.
In der ersten Tabelle sind die typen aufgeführt, die in allen Excel-Versionen unterstützt werden.
Datentyp | Übergabe nach Wert | Übergabe nach Verweis (Zeiger) | Kommentare |
---|---|---|---|
Boolesch |
A |
L |
short [int] (0=false oder 1=true) |
double |
B |
E |
|
Char* |
C, F |
ASCII-Bytezeichenfolge mit Null-Terminierung |
|
unsigned char * |
D, G |
Gezählte ASCII-Bytezeichenfolge |
|
unsigned short [int] |
H |
16-Bit-WORD |
|
[signed] short [int] |
I |
M |
16-Bit-Ganzzahl mit Vorzeichen |
[signed long] int |
J |
N |
32-Bit-Ganzzahl mit Vorzeichen |
FP |
K |
Gleitkomma-Arraystruktur |
|
Array |
O |
Drei Argumente werden übergeben: - unsigned short int * - unsigned short int * – double [] |
|
XLOPER |
P |
Variablen-Arbeitsblattwerte und Arrays |
|
Wert | R |
Werte, Arrays und Bereichsbezüge |
In Excel 2007 wurden die folgenden Datentypen eingeführt, um die größeren Raster und langen Unicode-Zeichenfolgen zu unterstützen.
Datentyp | Übergabe nach Wert | Übergabe nach Verweis (Zeiger) | Kommentare |
---|---|---|---|
unsigned short * |
C%, F% |
Mit NULL endende Unicode-Breitzeichenzeichenfolge |
|
unsigned short * |
D%, G% |
Gezählte Unicode-Breitzeichenzeichenfolge |
|
FP12 |
K% |
Struktur eines größeren Raster-Gleitkommaarrays |
|
Array |
O% |
Drei Argumente werden übergeben: - signed int * / RW * - signed int * / COL * – double [] |
|
XLOPER12 |
Q |
Variablen-Arbeitsblattwerte und Arrays |
|
Wert | U |
Werte, Arrays und Bereichsbezüge |
Ab Excel 2010 wurden die folgenden Datentypen eingeführt:
Datentyp | Übergabe nach Wert | Übergabe nach Verweis (Zeiger) | Kommentare |
---|---|---|---|
XLOPER12 |
X |
Das asynchrone Handle wird verwendet, um einen ausstehenden asynchronen Funktionsaufruf von Excel und der XLL nachzuverfolgen. Das Vorhandensein des Parametertyps in der Typzeichenfolge bestimmt auch die Funktion als asynchron. Weitere Informationen zu asynchronen Funktionen finden Sie unter Asynchrone User-Defined Functions. |
Die Zeichenfolgentypen F, F%, G und G% werden für Argumente verwendet, die direkt geändert werden.
Beachten Sie beim Arbeiten mit den Datentypen, die in der vorherigen Tabelle angezeigt werden, Folgendes:
- Die C-Deklarationen gehen davon aus, dass Ihr Compiler standardmäßig 8-Byte-Doubles, 2-Byte-Ganzzahlen und lange 4-Byte-Ganzzahlen verwendet.
- Alle Funktionen in DLLs und Coderessourcen werden mithilfe der __stdcall Aufrufkonvention aufgerufen.
- Jede Funktion, die einen Datentyp als Verweis zurückgibt, d. h. einen Zeiger auf etwas zurückgibt, kann sicher einen NULL-Zeiger zurückgeben. Excel interpretiert einen NULL-Zeiger als #NUM! zurück.
Zusätzliche Datentypinformationen
Dieser Abschnitt enthält ausführliche Informationen zu den Datentypen E, F, F,G, G%, K, O, P, Q, R und U sowie weitere Informationen zum pxTypeText-Argument .
E-Datentyp
Excel erwartet, dass eine DLL, die den E-Datentyp verwendet, Zeiger auf Gleitkommazahlen im Stapel übergibt. Dies kann Probleme mit einigen Sprachen (z. B. Borland C++) verursachen, die erwarten, dass die Zahl auf dem Coprozessoremulatorstapel übergeben wird. Die Problemumgehung besteht darin, einen Zeiger auf die Zahl im Coprozessorstapel zu übergeben. Das folgende Beispiel zeigt, wie ein Double aus Borland C++ zurückgegeben wird.
typedef double * lpDbl;
extern "C" lpDbl __stdcall AddDbl(double D1,
double D2, WORD npDbl)
{
lpDbl Result;
Result = (lpDbl)MK_FP(_SS, npDbl);
*Result = D1 + D2;
return (Result);
}
F-, F%-, G- und G%-Datentypen
Mit den Datentypen F, F%, G und G% kann eine Funktion einen Zeichenfolgenpuffer ändern, der von Excel zugeordnet wird. Wenn der Rückgabewerttypcode einer dieser Typen ist, ignoriert Excel den von der Funktion zurückgegebenen Wert. Stattdessen durchsucht Excel die Liste der Funktionsargumente nach dem ersten entsprechenden Datentyp (F, F%, G oder G%) und verwendet dann den aktuellen Inhalt des zugeordneten Zeichenfolgenpuffers als Rückgabewert. Alle Excel-Versionen weisen 256 Bytes für F - und G-ASCII-Zeichenfolgen zu, und ab Excel 2007 werden 65.536 Bytes zugeordnet, was für 32.768 Unicode-Zeichen für F% und G% Unicode-Zeichenfolgen ausreicht. Beachten Sie, dass die Puffer ein Count-Zeichen (Typen G und G%) oder ein NULL-Terminierungszeichen (Typen F und F%) enthalten müssen, sodass die tatsächliche maximale Zeichenfolgenlänge 255 und 32.767 beträgt. Unicode-Zeichenfolgen und daher die Argumente F% und G% sind nur über die C-API in Excel verfügbar.
K- und K%-Datentypen
Die Datentypen K und K% verwenden Zeiger auf die FP- bzw. FP12-Strukturen mit variabler Größe. Diese Strukturen werden in XLLCALL.H definiert. FP12-Strukturen und daher K% -Argumente vom Typ werden erst ab Excel 2007 unterstützt.
O- und O%-Datentypen
Die O- und O%-Datentypen können nur für Argumente und nicht für Rückgabewerte verwendet werden, obwohl Werte zurückgegeben werden können, wenn ein O- oder O%-Typargument direkt geändert wird. Jedes übergibt drei Elemente: einen Zeiger auf die Anzahl der Zeilen in einem Array, einen Zeiger auf die Anzahl der Spalten in einem Array und einen Zeiger auf ein zweidimensionales Array von Gleitkommazahlen.
Um ein Array zu ändern, das vom O- oder O%-Datentyp übergeben wird, können Sie ">O" oder ">O%" als pxTypeText-Argument verwenden. Weitere Informationen zum Ändern eines Arrays finden Sie im Abschnitt "Ändern an Ort und Stelle: Als Void deklarierte Funktionen".
Der O-Datentyp wurde für die direkte Kompatibilität mit Fortran-DLLs erstellt, die Argumente als Verweis übergeben.
Das O% wird ab Excel 2007 unterstützt und unterstützt die größere Anzahl von Zeilen, die Excel unterstützt.
P- und Q-Datentypen
Wenn DLL-Funktionsargumente als vom Typ P XLOPERs oder Q XLOPER12s registriert werden, konvertiert Excel beim Vorbereiten dieser Argumente einzelzellige Bezüge in einfache Werte und mehrzellige Bezüge in Arrays. Anders ausgedrückt: P - und Q-Typen werden in Ihrer Funktion immer als einer der folgenden Typen empfangen: xltypeNum, xltypeStr, xltypeBool, xltypeErr, xltypeMulti, xltypeMissing oder xltypeNil, aber nicht xltypeRef oder xltypeSRef , da diese immer dereferenziert sind. XLOPER12und daher Q-Argumente werden erst ab Excel 2007 unterstützt.
Wenn die Typen xltypeMissing oder xltypeNil für Rückgabewerte verwendet werden, werden sie von Excel als numerische Null interpretiert. xltypeMissing wird übergeben, wenn der Aufrufer ein Argument auslässt. xltypeNil wird übergeben, wenn der Aufrufer einen Verweis auf eine leere Zelle übergibt. Wenn ein Zellbereich in einen xltypeMulti konvertiert wird, der als Typ P oder Q übergeben wird, werden alle leeren Zellen innerhalb des Bereichs in xltypeNil-Arrayelemente konvertiert. Fehlende Elemente in einem Literalarray werden auf ähnliche Weise als xltypeNil-Elemente übergeben.
Flüchtige Funktionen und Neuberechnung
Auf einem Arbeitsblatt können Sie eine DLL-Funktion oder Coderessource flüchtig machen, sodass sie bei jeder Neuberechnung des Arbeitsblatts neu berechnet wird. Fügen Sie dazu ein Ausrufezeichen (!) nach dem letzten Argumentcode im pxTypeText-Argument hinzu.
Hinweis
Standardmäßig werden Funktionen, die den Typ R XLOPERs oder den Typ U XLOPER12s annehmen und als Makroblattäquivalente (Typ #; siehe nächster Abschnitt) registriert sind, in Excel als flüchtig behandelt.
Als void deklarierte Funktionen
Es gibt zwei Fälle, in denen eine Funktion als "void" deklariert wird. In beiden Fällen gibt die Funktion ihr Ergebnis auf andere Weise zurück.
Änderungen an Ort und Stelle
Sie können eine einzelne Ziffer n für den Rückgabetypcode in pxTypeText verwenden, wobei n eine Zahl von 1 bis 9 ist. Dadurch wird Excel angewiesen, den Wert der Variablen an der Position zu übernehmen, auf die das argument _n_th in_pxTypeText_as den Rückgabewert verweist. Dies wird auch als Direktes Ändern bezeichnet. The_n_th Argument muss ein Pass-by-Reference-Datentyp sein (C, D, E, F, F%, G, G%, K, L, M, N, O, O%, P, Q, R oder U). Die DLL-Funktion oder Coderessource muss auch mit dem void-Schlüsselwort (keyword) in den C/C++-Sprachen (oder der Prozedur Schlüsselwort (keyword) in der Sprache Pascal) deklariert werden.
Beispielsweise kann eine DLL-Funktion, die eine MIT NULL endende Zeichenfolge und zwei Zeiger auf ganze Zahlen als Argumente akzeptiert, die Zeichenfolge ändern. Verwenden Sie "1FMM" als pxTypeText-Argument , und deklarieren Sie die Funktion als void.
Frühere Versionen von Excel wurden am Anfang von pxTypeText verwendet>, um anzugeben, dass die Funktion als void deklariert wurde und dass das erste Argument direkt geändert werden sollte. Es gab keine Möglichkeit, ein anderes Argument als das erste zu ändern. entspricht >n = 1 in aktuellen Excel-Versionen, und diese Verwendung von in synchronen Funktionen wird nur aus Gründen der > Abwärtskompatibilität unterstützt.
Asynchrone Funktionen
Eine asynchrone Funktion, die mit einem Parameter vom Typ X in pxTypeText gekennzeichnet wird, gibt ihr Ergebnis aus dem ersten Funktionsaufruf nicht zurück. Stattdessen müssen Sie eine asynchrone Funktion als void deklarieren, und später gibt das Add-In das Ergebnis durch einen Rückruf zurück. Die asynchrone Funktion muss mit > am Anfang von pxTypeText registriert werden. Gibt in asynchronen Funktionen an, > dass die Funktion als void deklariert ist, gibt jedoch nicht an, dass das erste Argument an Ort und Stelle geändert wurde. Weitere Informationen zu asynchronen Funktionen finden Sie unter Asynchrone User-Defined Functions.
Registrieren von Arbeitsblattfunktionen als Makroblattäquivalente (Behandeln von nicht berechneten Zellen)
Durch das Platzieren eines # Zeichens nach dem letzten Parametercode in pxTypeText erhält die Funktion die gleichen Aufrufberechtigungen wie Funktionen auf einem Makroblatt. Hierbei handelt es sich um folgende Schritte vor dem Upgrade:
Die Funktion kann die Werte von Zellen abrufen, die in diesem Neuberechnungszyklus noch nicht berechnet wurden.
Die Funktion kann jede der XLM-Informationsfunktionen (Klasse 2) aufrufen, z. B. xlfGetCell.
Wenn das Zahlenzeichen (#) nicht vorhanden ist, führt die Auswertung einer nicht berechneten Zelle zu einem xlretUncalced-Fehler , und die aktuelle Funktion wird erneut aufgerufen, sobald die Zelle berechnet wurde. Das Aufrufen einer anderen XLM-Informationsfunktion als xlfCaller führt zu einem xlretInvXlfn-Fehler .
Registrieren von Arbeitsblattfunktionen als threadsicher
Ab Excel 2007 kann Excel eine Neuberechnung von Multithreadarbeitsmappen durchführen. Dies bedeutet, dass es gleichzeitigen Threads zur erneuten Auswertung verschiedene Instanzen einer threadsicheren Funktion zuweisen kann. Ab Excel 2007 sind die meisten integrierten Arbeitsblattfunktionen threadsicher. Ab Excel 2007 ermöglicht Excel auch XLLs, Arbeitsblattfunktionen als threadsicher zu registrieren. Fügen Sie dazu ein Zeichen nach dem letzten Parametercode in pxTypeText ein$.
Hinweis
Nur Arbeitsblattfunktionen können als threadsicher deklariert werden. Excel betrachtet eine äquivalente Makroblattfunktion nicht als threadsicher, sodass Sie keine # Zeichen und $ an das pxTypeText-Argument anfügen können.
Wenn Sie eine Funktion als threadsicher registriert haben, müssen Sie sicherstellen, dass sie sich threadsicher verhält, obwohl Excel alle threadunsicheren Aufrufe über die C-API ablehnt. Wenn beispielsweise eine threadsichere Funktion versucht, xlfGetCell aufzurufen, schlägt der Aufruf mit dem XlretNotThreadSafe-Fehler fehl.
Registrieren von Arbeitsblattfunktionen als clustersicher
Ab Excel 2010 kann Excel Funktionsaufrufe an einen bestimmten Computeclusteranbieter auslagern. Weitere Informationen finden Sie unter Sichere Clusterfunktionen. Alle XLL-Arbeitsblattfunktionen, die als clustersicher registriert sind, nehmen an der Auslagerung teil, wenn ein Cluster verfügbar ist. Clustersichere Funktionen werden registriert, indem das & Zeichen nach dem letzten Parametercode im pxTypeText-Argument eingeschlossen wird.
Wenn Sie eine Funktion als clustersicher registriert haben, müssen Sie sicherstellen, dass sie sich clustersicher verhält. Weitere Informationen finden Sie unter Sichere Clusterfunktionen.
Hinweis
Nur Arbeitsblattfunktionen können als clustersicher deklariert werden. Excel betrachtet eine äquivalente Makroblattfunktion nicht als clustersicher, sodass Sie nicht sowohl als # auch& Zeichen an das pxTypeText-Argument anfügen können. Arbeitsblattfunktionen können sowohl als clustersicher als auch als threadsicher deklariert werden. In diesem Fall lässt Excel zu, dass diese Funktionen an der Multithread-Neuberechnung teilnehmen, wenn die Clusterauslagerung deaktiviert ist.
Kategorienamen
Verwenden Sie die folgenden Richtlinien, um zu bestimmen, in welcher Kategorie Ihre XLL-Funktionen platziert werden sollen.
- Wenn die Funktion etwas ausführt, das vom Benutzer als Teil der Add-In-Benutzeroberfläche ausgeführt werden könnte, sollten Sie die Funktion in die Kategorie Befehle einfügen.
- Wenn die Funktion Informationen zum Zustand des Add-Ins oder andere nützliche Informationen zurückgibt, sollten Sie die Funktion in die Kategorie Informationen einfügen.
- Ein Add-In sollte der Kategorie Benutzerdefinierte Funktionen oder Befehle niemals hinzufügen. Diese Kategorie ist für die ausschließliche Verwendung von Endbenutzern vorgesehen.
– Die Kategorie wird mithilfe des pxCategory-Parameters für xlfRegister angegeben. Dies kann eine Zahl oder ein Text sein, der einer der hartcodierten Standardkategorien entspricht, oder der Text einer neuen Kategorie, die von der DLL angegeben wird. Wenn der angegebene Text noch nicht vorhanden ist, erstellt Excel eine neue Kategorie mit diesem Namen.
In der folgenden Tabelle sind die Standardkategorien aufgeführt, die angezeigt werden, wenn Sie das Dialogfeld Funktion einfügen in einem Arbeitsblatt anzeigen.
Number | Text |
---|---|
1 |
Finanzen |
2 |
Datum & Zeit |
3 |
Mathematik & Trig |
4 |
Text |
5 |
Logik |
6 |
Matrix |
7 |
Datenbank |
8 |
Statistik |
9 |
Information |
14 |
Benutzerdefiniert |
Engineering (ab Excel 2007) |
|
Cube (ab Excel 2007) |
Darüber hinaus sind diese Kategorien auch sichtbar, wenn Sie das Dialogfeld Funktion einfügen in einem Makroblatt anzeigen.
Number | Text |
---|---|
10 |
Befehle |
11 |
DDE/Extern |
12 |
Benutzerorientiert |
13 |
Makrosteuerung |
Beispiel
Weitere Informationen finden Sie im Code für die xlAutoOpen-Funktion in \SAMPLES\GENERIC\GENERIC.C
.