参数Template可选,确定如何创建新工作簿。如果该参数指定的字符串是已有的Excel文件名,那么使用指定的文件作为模板创建新工作簿。如果该参数指定为xlWBATemplate常量之一,则新工作簿包含单个指定类型的工作表。如果忽略该参数,那么新工作簿包含标准的空工作表,可以使用SheetsInNewWorkbook属性设置工作表数。
xlWBATemplate常量为:xlWBATChart,xlWBATExcel4IntlMacroSheet,xlWBATExcel4MacroSheet,xlWBATWorksheet。分别代表图表工作表、宏工作表以及标准工作表。
创建的新工作簿成为当前活动工作簿。
示例代码1:创建新工作簿并指定工作簿中的工作表数
下面的代码创建含有5个标准工作表的新工作簿。
Sub testWBAdd()
'设置新工作簿中的工作表数
Application.SheetsInNewWorkbook = 5
'创建新工作簿
Workbooks.Add
End Sub
如果不指定新工作簿中工作表数,那么创建的新工作簿基于Workbook对象默认属性创建新的空工作簿。
示例代码2:基于现有工作簿创建新工作簿
下面的代码以工作簿excelvba81.xlsm为模板创建新工作簿。
Sub testWBAdd1()
Workbooks.Add Template:='G:\09. Excel\01. 解读Excel VBA\Excel VBA解读(81):工作表事件示例\excelvba81.xlsm'
End Sub
运行后创建的工作簿如下图1所示。
图1
可以看出,新工作簿名在模板工作簿名的后面加了一个数字1。如果在此基础上再创建一个新工作簿,则会在模板工作簿名后添加数字2,依此类推。
示例代码3:将创建的新工作簿赋值
下面的代码将新创建的工作簿赋给对象变量。
Sub testWBAdd2()
Dim wb1 As Workbook
Dim wb2 As Workbook
Set wb1 = Workbooks.Add
Set wb2 = Workbooks.Add(Template:='G:\09. Excel\01. 解读Excel VBA\Excel VBA解读(81):工作表事件示例\excelvba81.xlsm')
End Sub
代码将基于默认属性创建的新工作簿赋值给变量wb1,将基于工作簿excelvba81.xlsm创建的新工作簿赋值给变量wb2。
这样,在后面的代码中,可以直接使用对象变量来操作相应的工作簿。
联系客服