Freigeben über


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

xlSet

C-API-Funktionen, die nur aus einer DLL oder XLL aufgerufen werden können