描述:
有谁知道调用WorkSheets类中的Add(...)方法插入新的worksheet时,如何写里面的参数来控制插入的位置(主要是第一、二参数应该怎么写),比如让它插在已有的所有sheet之后。该方法的原型如下,希望高手们仔细介绍一下各参数的意义和用法。
LPDISPATCH Worksheets::Add(const VARIANT& Before, const VARIANT& After, const VARIANT& Count, const VARIANT& Type)
{
LPDISPATCH result;
static BYTE parms[] =
VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
InvokeHelper(0xb5, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
&Before, &After, &Count, &Type);
return result;
}
解决方案1:
Before:新sheet的后一个sheet
After:新sheet的前一个sheet
Count:新插入的sheet的数量
Type: 已经忘记了它的用法,不过我一般都是传null
如Add(null, sheet1, 3, null)表示在sheet1后插入3个sheet
应用于 Sheets 和 Worksheets 对象的 Add 方法。
新建工作表、图表或宏表。新建的工作表将成为活动工作表。
expression.Add(Before, After, Count, Type)
expression 必需。该表达式返回上面的对象之一。
Before Variant 类型,可选。指定工作表对象,新建的工作表将置于此工作表之前。
After Variant 类型,可选。指定工作表对象,新建的工作表将置于此工作表之后。
Count Variant 类型,可选。要新建的工作表的数目。默认值为 1。
Type Variant 类型,可选。指定工作表类型。可为以下 XlSheetType 常量之一:xlWorksheet、xlChart、xlExcel4MacroSheet 或 xlExcel4IntlMacroSheet。默认值为 xlWorksheet。
说明 如果 Before 和 After 两者均省略,则新建的工作表将插入到活动工作表之前。