xlCoerce
适用于:Excel 2013 | Office 2013 | Visual Studio
将一种类型的 XLOPERXLOPER12转换为另一种类型的 XLOPER/ ,或在工作表上查找单元格值。
Excel12(xlCoerce, LPXLOPER12 pxRes, 2, LPXLOPER12 pxSource, LPXLOPER12 pxDestType);
参数
pxSource
需要转换的源 XLOPER/ XLOPER12 。
pxDestType (xltypeInt)
(可选) 。 你愿意接受的结果类型的位掩码。 应使用按位 OR 运算符 ( |) 指定多个可能的类型。 如果省略此参数,对单个单元格的引用将转换为值类型之一 xltypeStr、 xltypeNum、 xltypeBool、 xltypeErr、 xltypeNil (如果引用的单元格为空) ,并且对单元格块的引用将转换为 xltypeMulti。 这使得 xlCoerce 成为查找单元格值的最便捷方法。
属性值/返回值
返回 (xltypeStr、 xltypeNum、 xltypeBool、 xltypeErr、 xltypeNil 或 xltypeMulti) 的强制值。
备注
xlCoerce 无法与 xltypeBigData 或 xltypeFlow 进行转换。 将 xltypeMissing 或 xltypeNil 类型作为 pxDestType 传递等效于省略参数。 在某些情况下,转换可能会失败。 例如,某些字符串无法转换为数字,而其他字符串可以转换为数字。
如果将数组或多单元格引用转换为单个值类型,则结果是左上角单元格或数组元素的值。
示例
可以在 中找到 \SAMPLES\EXAMPLE\EXAMPLE.C
以下代码。
注意
xlcAlert 函数隐式尝试将其参数转换为字符串,以便实际上可以删除此处所示的强制步骤,并且 xInt 可以直接传递给 xlcAlert。 由于 xlcAlert 是命令宏,因此此代码仅在从宏表调用时才正常工作。
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;
}