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
Funciones de la API de C que se pueden llamar solo desde una DLL o XLL