Compartir a través de


xlCoerce

Hace referencia a: Excel 2013 | Office 2013 | Visual Studio

Convierte un tipo deXLOPER12XLOPER/ en otro o busca valores de celda en una hoja.

Excel12(xlCoerce, LPXLOPER12 pxRes, 2, LPXLOPER12 pxSource, LPXLOPER12 pxDestType);

Parameters

pxSource

El XLOPER12 XLOPER/ de origen que se debe convertir.

pxDestType (xltypeInt)

(Opcional). Máscara de bits de los tipos resultantes que está dispuesto a aceptar. Debe usar el operador OR bit a bit ( | ) para especificar varios tipos posibles. Si se omite este argumento, las referencias a celdas únicas se convierten en uno de los tipos de valor xltypeStr, xltypeNum, xltypeBool, xltypeErr, xltypeNil (si la celda a la que se hace referencia está vacía) y las referencias a bloques de celdas se convierten en xltypeMulti. Esto hace que xlCoerce sea la manera más cómoda de buscar valores de celda.

Valor de la propiedad/valor devuelto

Devuelve el valor coercitivo (xltypeStr, xltypeNum, xltypeBool, xltypeErr, xltypeNil o xltypeMulti).

Comentarios

xlCoerce no puede convertirse a xltypeBigData o xltypeFlow ni desde este. Pasar un tipo xltypeMissing o xltypeNil como pxDestType equivale a omitir el argumento. La conversión puede producir un error en algunos casos. Por ejemplo, algunas cadenas no se pueden convertir en números, mientras que otras pueden.

Si una matriz o una referencia de varias celdas se convierten en un único tipo de valor, el resultado es el valor de la celda superior izquierda o del elemento de matriz.

Ejemplo

El código siguiente se puede encontrar en \SAMPLES\EXAMPLE\EXAMPLE.C.

Nota:

La función xlcAlert intenta implícitamente convertir su argumento en una cadena para que el paso de coerción que se muestra aquí se pueda quitar de hecho y xInt se pueda pasar directamente a xlcAlert. Como xlcAlert es una macro de comandos, este código solo funciona correctamente cuando se llama desde una hoja de macros.

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;
}

Vea también

xlSet

Funciones de la API de C que se pueden llamar solo desde una DLL o XLL