xlSet

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

非常快速地将常量值放入单元格或区域。 有关详细信息,请参阅 Excel XLL 开发中的已知问题中的“xlSet 和包含数组公式的工作簿”。

Excel12(xlSet, LPXLOPER12 pxRes, 2, LPXLOPER12 pxReference, LPXLOPER pxValue);

参数

pxReference (xltypeRefxltypeSRef)

描述目标单元格的矩形引用。 引用必须描述相邻单元格,因此 xltypeRefval.mref.lpmref->count 中必须设置为 1。

pxValue

要放入单元格中的一个或多个值。 有关详细信息,请参阅“注解”部分。

备注

pxValue 参数

pxValue 可以是值或数组。 如果是值,则使用该值填充整个目标范围。 如果它是 xltypeMulti) (数组,则数组的元素将放入矩形中的相应位置。

如果将水平数组用于第二个参数,则会向下复制该数组以填充整个矩形。 如果使用垂直数组,则会在右侧复制它以填充整个矩形。 如果使用矩形数组,并且对于要放入的矩形区域而言,该数组太小,则会用 #N/A填充该区域。

如果目标范围小于源数组,则会将值复制到目标范围的限制内,并忽略额外的数据。

若要清除目标矩形的元素,请在源数组中使用 xltypeNil 类型数组元素。 若要清除整个目标矩形,请省略第二个参数。

限制

xlSet 无法撤消。 此外,它还会销毁以前可能已提供的任何撤消信息。

xlSet 只能将常量(不能将公式)放入单元格中。

xlSet 的行为与类 3 命令等效的函数;也就是说,仅当从对象、宏、菜单、工具栏、快捷键或“”对话框中的“运行”按钮调用 DLL 时, (从 Excel 2007 开始从功能区上的“视图”选项卡访问 DLL,) 早期版本中的“工具”菜单。

示例

以下示例使用从宏传入的值填充 B205:B206。 此命令函数示例需要参数,因此只有在从 XLM 宏表或使用 Application.Run 方法从 VBA 模块调用时才起作用。

\SAMPLES\EXAMPLE\EXAMPLE.C

short WINAPI xlSetExample(short int iVal)
{
   XLOPER12 xRef, xValue;
   xRef.xltype = xltypeSRef;
   xRef.val.sref.count = 1;
   xRef.val.sref.ref.rwFirst = 204;
   xRef.val.sref.ref.rwLast = 205;
   xRef.val.sref.ref.colFirst = 1;
   xRef.val.sref.ref.colLast = 1;
   xValue.xltype = xltypeInt;
   xValue.val.w = iVal;
   Excel12(xlSet, 0, 2, (LPXLOPER12)&xRef, (LPXLOPER12)&xValue);
   return 1;
}

另请参阅