当前位置:首页 > Excel VBA教程 > 工作簿(Workbook)基本操作应用示例

工作簿(Workbook)基本操作应用示例

来源:Excel中文网 作者:Excelcn 发布时间:2006-12-21
Workbook对象代表工作簿,而Workbooks集合则包含了当前所有的工作簿。下面对Workbook对象的重要的方法和属性以及其它一些可能涉及到的方法和属性进行示例介绍,同时,后面的示例也深入介绍了一些工作簿对象操作的方法和技巧。

示例03-01:创建工作簿(Add方法)
[示例03-01-01]
Sub CreateNewWorkbook1()
  MsgBox "将创建一个新工作簿."
  Workbooks.Add
End Sub
[示例03-01-02]
Sub CreateNewWorkbook2()
  Dim wb As Workbook
  Dim ws As Worksheet
  Dim i As Long
  MsgBox "将创建一个新工作簿,并预设工作表格式."
  Set wb = Workbooks.Add
  Set ws = wb.Sheets(1)
  ws.Name = "产品汇总表"
  ws.Cells(1, 1) = "序号"
  ws.Cells(1, 2) = "产品名称"
  ws.Cells(1, 3) = "产品数量"
  For i = 2 To 10
    ws.Cells(i, 1) = i - 1
  Next i
End Sub

示例03-02:添加并保存新工作簿
Sub AddSaveAsNewWorkbook()
 Dim Wk As Workbook
 Set Wk = Workbooks.Add
 Application.DisplayAlerts = False
 Wk.SaveAs Filename:="D:/SalesData.xls"
End Sub
示例说明:本示例使用了Add方法和SaveAs方法,添加一个新工作簿并将该工作簿以文件名SalesData.xls保存在D盘中。其中,语句Application.DisplayAlerts = False表示禁止弹出警告对话框。

示例03-03:打开工作簿(Open方法)
[示例03-03-01]
Sub openWorkbook1()
    Workbooks.Open "<需打开文件的路径>/<文件名>"
End Sub
示例说明:代码中的<>里的内容需用所需打开的文件的路径及文件名代替。Open方法共有15个参数,其中参数FileName为必需的参数,其余参数可选。
[示例03-03-02]
Sub openWorkbook2()
  Dim fname As String
  MsgBox "将D盘中的<测试.xls>工作簿以只读方式打开"
  fname = "D:/测试.xls"
  Workbooks.Open Filename:=fname, ReadOnly:=True
End Sub

示例03-04:将文本文件导入工作簿中(OpenText方法)
Sub TextToWorkbook()
  '本示例打开某文本文件并将制表符作为分隔符对此文件进行分列处理转换成为工作表
  Workbooks.OpenText Filename:="<文本文件所在的路径>/<文本文件名>", _
      DataType:=xlDelimited, Tab:=True
End Sub
示例说明:代码中的<>里的内容需用所载入的文本文件所在路径及文件名代替。OpenText方法的作用是导入一个文本文件,并将其作为包含单个工作表的工作簿进行分列处理,然后在此工作表中放入经过分列处理的文本文件数据。该方法共有18个参数,其中参数FileName为必需的参数,其余参数可选。

示例03-05:保存工作簿(Save方法)
[示例03-05-01]
Sub SaveWorkbook()
  MsgBox "保存当前工作簿."
  ActiveWorkbook.Save
End Sub
[示例03-05-02]
Sub SaveAllWorkbook1()
  Dim wb As Workbook
  MsgBox "保存所有打开的工作簿后退出Excel."
  For Each wb In Application.Workbooks
    wb.Save
  Next wb
  Application.Quit
End Sub
[示例03-05-03]
Sub SaveAllWorkbook2()
  Dim wb As Workbook
  For Each wb In Workbooks
    If wb.Path <> "" Then wb.Save
  Next wb
End Sub
示例说明:本示例保存原来已存在且已打开的工作簿。

示例03-06:保存工作簿(SaveAs方法)
[示例03-06-01]
Sub SaveWorkbook1()
  MsgBox "将工作簿以指定名保存在默认文件夹中."
  ActiveWorkbook.SaveAs "<工作簿名>.xls"
End Sub
示例说明:SaveAs方法相当于“另存为……”命令,以指定名称保存工作簿。该方法有12个参数,均为可选参数。如果未指定保存的路径,那么将在默认文件夹中保存该工作簿。如果文件夹中该工作簿名已存在,则提示是否替换原工作簿。
[示例03-06-02]
Sub SaveWorkbook2()
  Dim oldName As String, newName As String
  Dim folderName As String, fname As String
  oldName = ActiveWorkbook.Name
  newName = "new" & oldName
  MsgBox "将<" & oldName & ">以<" & newName & ">的名称保存"
  folderName = Application.DefaultFilePath
  fname = folderName & "/" & newName
  ActiveWorkbook.SaveAs fname
End Sub
示例说明:本示例将当前工作簿以一个新名(即new加原名)保存在默认文件夹中。
[示例03-06-03]
Sub CreateBak1()
  MsgBox "保存工作簿并建立备份工作簿"
  ActiveWorkbook.SaveAs CreateBackup:=True
End Sub
示例说明:本示例将在当前文件夹中建立工作簿的备份。
[示例03-06-04]
Sub CreateBak2()
  MsgBox "保存工作簿时,若已建立了备份,则将出现包含True的信息框,否则出现False."
  MsgBox ActiveWorkbook.CreateBackup
End Sub

示例03-07:取得当前打开的工作簿数(Count属性)
Sub WorkbookNum()
  MsgBox "当前已打开的工作簿数为:" & Chr(10) & Workbooks.Count
End Sub

| 网站地图 All Rights Reserved. Powered by Excel中文网