xlCoerce
Gilt für: Excel 2013 | Office 2013 | Visual Studio
Konvertiert einenXLOPER-XLOPER12-Typ/ in einen anderen oder sucht Zellwerte auf einem Blatt.
Excel12(xlCoerce, LPXLOPER12 pxRes, 2, LPXLOPER12 pxSource, LPXLOPER12 pxDestType);
Parameter
pxSource
Die XLOPER-Quellversion/ XLOPER12 , die konvertiert werden muss.
pxDestType (xltypeInt)
(Optional). Eine Bitmaske der resultierenden Typen, die Sie akzeptieren möchten. Sie sollten den bitweisen OR-Operator ( | ) verwenden, um mehrere mögliche Typen anzugeben. Wenn dieses Argument nicht angegeben wird, werden Verweise auf einzelne Zellen in einen der Werttypen xltypeStr, xltypeNum, xltypeBool, xltypeErr, xltypeNil (wenn die verwiesene Zelle leer ist) konvertiert, und Verweise auf Zellblöcke werden in xltypeMulti konvertiert. Dies macht xlCoerce zur einfachsten Möglichkeit, Zellwerte nachzuschlagen.
Eigenschaftswert/Rückgabewert
Gibt den umgewandelten Wert zurück (xltypeStr, xltypeNum, xltypeBool, xltypeErr, xltypeNil oder xltypeMulti).
Hinweise
xlCoerce kann nicht in oder aus xltypeBigData oder xltypeFlow konvertiert werden. Das Übergeben eines xltypeMissing - oder xltypeNil-Typs als pxDestType entspricht dem Weglassen des Arguments. Die Konvertierung kann in einigen Fällen fehlschlagen. Beispielsweise können einige Zeichenfolgen nicht in Zahlen konvertiert werden, während andere dies können.
Wenn ein Array oder ein Mehrzellenbezug in einen einzelnen Werttyp konvertiert wird, ist das Ergebnis der Wert der oberen linken Zelle oder des Arrayelements.
Beispiel
Der folgende Code befindet sich in \SAMPLES\EXAMPLE\EXAMPLE.C
.
Hinweis
Die xlcAlert-Funktion versucht implizit, ihr Argument in eine Zeichenfolge zu konvertieren, sodass der hier gezeigte Koersionsschritt tatsächlich entfernt und xInt direkt an xlcAlert übergeben werden kann. Da xlcAlert ein Befehlsmakro ist, funktioniert dieser Code nur ordnungsgemäß, wenn er von einem Makroblatt aufgerufen wird.
short WINAPI xlCoerceExample(short iVal)
{
XLOPER12 xStr, xInt, xDestType;
xInt.xltype = xltypeInt;
xInt.val.w = iVal;
xDestType.xltype = xltypeInt;
xDestType.val.w = xltypeStr;
Excel12f(xlCoerce, &xStr, 2, (LPXLOPER12)&xInt, (LPXLOPER12)&xDestType);
Excel12f(xlcAlert, 0, 1, (LPXLOPER12)&xStr);
Excel12f(xlFree, 0, 1, (LPXLOPER12)&xStr);
return 1;
}
Siehe auch
C-API-Funktionen, die nur aus einer DLL oder XLL aufgerufen werden können