分享

Excel VBA解读(84):创建新工作簿 —— Add方法

 L罗乐 2017-11-15


  • 参数Template可选,确定如何创建新工作簿。如果该参数指定的字符串是已有的Excel文件名,那么使用指定的文件作为模板创建新工作簿。如果该参数指定为xlWBATemplate常量之一,则新工作簿包含单个指定类型的工作表。如果忽略该参数,那么新工作簿包含标准的空工作表,可以使用SheetsInNewWorkbook属性设置工作表数。

  • xlWBATemplate常量为:xlWBATChartxlWBATExcel4IntlMacroSheetxlWBATExcel4MacroSheetxlWBATWorksheet。分别代表图表工作表、宏工作表以及标准工作表。

  • 创建的新工作簿成为当前活动工作簿。

 

示例代码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

这样,在后面的代码中,可以直接使用对象变量来操作相应的工作簿。




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多