sheets.add方法使用模版通不过 ( 积分: 100 )

  • 主题发起人 主题发起人 tonywam
  • 开始时间 开始时间
T

tonywam

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个程序要求一个excel的workbook中有多个sheet,每个sheet的格式不一样,我想再这个workbook中加新的sheet时,直接使用模版,用excel直接操作没问题,成功,我还录制了成功操作的宏,如下:
Sub Macro1()
'
' Macro1 Macro
' 宏由 min 录制,时间: 2007-2-5
'

'
Sheets("PO#").Select
Sheets.Add Type:= _
"C:/Documents and Settings/Administrator/Application Data/Microsoft/Templates/invoice.xlt"
Sheets("invoice (2)").Select
End Sub
Sub Macro2()
查得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 两者均省略,则新建的工作表将插入到活动工作表之前。

我的delphi代码如下:
st1:='C:/Documents and Settings/Administrator/Application Data/Microsoft/Templates/invoice.xlt';
WorkSheet:=workbook2.WorkSheets.add(emptyparam,emptyparam,emptyparam,st1);
此时报错,信息: 类sheets的add方法无效.但如果我将上面的st1参数也改为emptyparam则完全没问题,只是不能使用模版.我知道可以用workbooks.add(template)的方法做,但像我这种情况如果用sheets.add则代码比较简洁些.我用的delphi 7,office xp,excel使用creatoleobject方式.哪位指点一下,100大洋.
 
workbook2.Sheets.add
看看
 
一语中的,问题解决了.请问worksheets和sheets有何区别?给分了.
 
后退
顶部