|
楼主 |
发表于 2009-2-22 10:11
|
显示全部楼层
第3部分 Wordbook(工作簿)对象
技巧41 新建工作簿文件
在VBA中使用Add方法新建工作簿,如下面的代码所示。
- #001 Sub AddNowbook()
- #002 Dim Nowbook As Workbook
- #003 Dim ShName As Variant
- #004 Dim Arr As Variant
- #005 Dim i As Integer
- #006 Dim myNewWorkbook As Integer
- #007 myNewWorkbook = Application.SheetsInNewWorkbook
- #008 ShName = Array("余额", "单价", "数量", "金额")
- #009 Arr = Array("01月", "02月", "03月", "04月", "05月", "06月", "07月", "08月", "09月", "10月", "11月", "12月")
- #010 Application.SheetsInNewWorkbook = 4
- #011 Set Nowbook = Workbooks.Add
- #012 With Nowbook
- #013 For i = 1 To 4
- #014 With .Sheets(i)
- #015 .Name = ShName(i - 1)
- #016 .Range("B1").Resize(1, UBound(Arr) + 1) = Arr
- #017 .Range("A2") = "品名"
- #018 End With
- #019 Next
- #020 .SaveAs Filename:=ThisWorkbook.Path & "" & "存货明细.xls"
- #021 .Close Savechanges:=True
- #022 End With
- #023 Set Nowbook = Nothing
- #024 Application.SheetsInNewWorkbook = myNewWorkbook
- #025 End Sub
复制代码
代码解析:
AddNowbook过程使用Add方法建立新的工作簿并对新建工作簿进行操作。
第2行到第6行代码声明变量类型。
第7行代码保存Excel自动插入到新工作簿中的工作表数目。
第8、9行代码将数组元素赋值给变量。
第10行代码将Application对象的SheetsInNewWorkbook属性设置为4,在新建工作簿时插入4张工作表。
第11行代码使用Add方法建立新的工作簿,应用于Workbooks对象的Add方法新建工作簿,新建的工作簿将成为活动工作簿。
第12行到第22行代码操作新建工作簿。其中第15行到第17行代码将新建工作簿的工作表进行重命名并给单元格赋值。第20行代码使用SaveAs方法将新建工作簿重命名为“存货明细.xls”保存在同一目录中。第21行代码使用Close方法关闭工作簿。
第24行代码恢复工作簿的默认设置。
运行AddNowbook过程将在工作簿同一目录中新建“存货明细.xls”工作簿,新建工作簿格式如图所示。
注意 本例中没有考虑工作簿同名因素,如果目录中已有“存货明细.xls”工作簿,运行时会显示如图所示的对话框,选择“是”即可,否则将会出错。
|
|