xlCoerce

适用于:Excel 2013 | Office 2013 | Visual Studio

将一种类型的 XLOPERXLOPER12转换为另一种类型的 XLOPER/ ,或在工作表上查找单元格值。

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

参数

pxSource

需要转换的源 XLOPER/ XLOPER12

pxDestType (xltypeInt)

(可选) 。 你愿意接受的结果类型的位掩码。 应使用按位 OR 运算符 ( |) 指定多个可能的类型。 如果省略此参数,对单个单元格的引用将转换为值类型之一 xltypeStrxltypeNumxltypeBoolxltypeErrxltypeNil (如果引用的单元格为空) ,并且对单元格块的引用将转换为 xltypeMulti。 这使得 xlCoerce 成为查找单元格值的最便捷方法。

属性值/返回值

返回 (xltypeStrxltypeNumxltypeBoolxltypeErrxltypeNilxltypeMulti) 的强制值。

备注

xlCoerce 无法与 xltypeBigDataxltypeFlow 进行转换。 将 xltypeMissingxltypeNil 类型作为 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;
}

另请参阅

xlSet

只能从 DLL 或 XLL 调用的 C API 函数