Excel4v/Excel12v
Gilt für: Excel 2013 | Office 2013 | Visual Studio
Ruft eine interne Microsoft Excel-Arbeitsblattfunktion, eine Makroblattfunktion oder einen Befehl oder einen speziellen XLL-Befehl aus einer DLL-, XLL- oder Coderessource auf.
Alle aktuellen Versionen von Excel unterstützen Excel4v. Ab Excel 2007 wird Excel12v unterstützt.
Diese Funktionen können nur aufgerufen werden, wenn Excel die Steuerung an die DLL oder XLL übergeben hat. Sie können auch aufgerufen werden, wenn Excel die Steuerung indirekt über einen Aufruf von Visual Basic for Applications (VBA) übergeben hat. Sie können nicht zu einem anderen Zeitpunkt aufgerufen werden. Sie können beispielsweise nicht während aufrufen der DllMain-Funktion oder in anderen Fällen, wenn das Betriebssystem die DLL aufgerufen hat, oder von einem thread aufgerufen werden, der von der DLL erstellt wurde.
Die Excel4- und Excel12-Funktionen akzeptieren ihre Argumente als Liste variabler Länge im Stapel, während die Excel4v- und Excel12v-Funktionen ihre Argumente als Array akzeptieren. In allen anderen Aspekten verhält sich Excel4 wie Excel4v, und Excel12 verhält sich genauso wie Excel12v.
int _cdecl Excel4v(int iFunction, LPXLOPER pxRes, int iCount, LPXLOPER rgx[]);
int _cdecl Excel12v(int iFunction, LPXLOPER12 pxRes, int iCount, LPXLOPER12 rgx[]);
Parameter
iFunction (int)
Eine Zahl, die den Befehl, die Funktion oder die spezielle Funktion angibt, die Sie aufrufen möchten. Eine Liste der gültigen iFunction-Werte finden Sie im folgenden Abschnitt "Hinweise".
pxRes (LPXLOPER oder LPXLOPER12)
Ein Zeiger auf eine XLOPER (im Fall von Excel4v) oder eine XLOPER12 (im Fall von Excel12v), die das Ergebnis der ausgewerteten Funktion enthält.
iCount (int)
Die Anzahl der nachfolgenden Argumente, die an die Funktion übergeben werden. In Excel-Versionen bis 2003 kann dies eine beliebige Zahl von 0 bis 30 sein. Ab Excel 2007 kann dies eine beliebige Zahl zwischen 0 und 255 sein.
rgx (LPXLOPER [] oder LPXLOPER12 [])
Ein Array, das die Argumente für die Funktion enthält. Alle Argumente im Array müssen Zeiger auf XLOPER - oder XLOPER12 Werte sein.
Rückgabewert
Diese Funktionen geben die gleichen Werte wie Excel4 und Excel12 zurück.
Hinweise
Diese Funktionen sind nützlich, wenn die Anzahl der an den Operator übergebenen Argumente variabel ist. Excel4v und Excel12v sind beispielsweise nützlich, wenn Sie Funktionen mithilfe von xlfRegister registrieren, wobei die Anzahl der Gesamtargumente von der Anzahl der Argumente abhängt, die von der zu registrierenden Funktion verwendet werden. Excel4v und Excel12v sind auch nützlich, wenn Sie eine Wrapperfunktion für Excel4 oder Excel12 schreiben. In diesen Fällen müssen Sie eine Variablenargumentliste, wie sie normalerweise in Excel4 oder Excel12 bereitgestellt wird, in ein einzelnes Arrayargument variabler Größe konvertieren, um excel4v oder Excel12v zurückzurufen.
Beispiel
Codebeispiele finden Sie im Code für die Excel- und Excel12f-Funktionen im Excel 2010 XLL SDK am folgenden Speicherort, an dem Sie das SDK installiert haben:
Samples\Framewrk\Framewrk.c