ExcelVBA编实战编程(很实用哦) 下载本文

面对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:=\End Sub

示例说明:本示例使用了Add方法和SaveAs方法,添加一个新工作簿并将该工作簿以文件名SalesData.xls保存在D盘中。其中,语句Application.DisplayAlerts = False表示禁止弹出警告对话框。

示例03-03:打开工作簿(Open方法) [示例03-03-01]

Sub openWorkbook1()

Workbooks.Open \需打开文件的路径>\\<文件名>\End Sub

示例说明:代码中的<>里的内容需用所需打开的文件的路径及文件名代替。Ope

29

n方法共有15个参数,其中参数FileName为必需的参数,其余参数可选。 [示例03-03-02]

Sub openWorkbook2() Dim fname As String

MsgBox \将D盘中的<测试.xls>工作簿以只读方式打开\ fname = \测试.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 <> \ Next wb End Sub

示例说明:本示例保存原来已存在且已打开的工作簿。

30

示例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 = \

MsgBox \将<\以<\的名称保存\ folderName = Application.DefaultFilePath fname = folderName & \ 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 \当前已打开的工作簿数为:\End Sub

示例03-08:激活工作簿(Activate方法) [示例03-08-01]

Sub ActivateWorkbook1()

31

Workbooks(\工作簿名>\End Sub

示例说明:Activate方法激活一个工作簿,使该工作簿为当前工作簿。 [示例03-08-02]

Sub ActivateWorkbook2() Dim n As Long, i As Long Dim b As String

MsgBox \依次激活已经打开的工作簿\ n = Workbooks.Count For i = 1 To n

Workbooks(i).Activate

b = MsgBox(\第 \个工作簿被激活,还要继续吗?\ If b = vbNo Then Exit Sub

If i = n Then MsgBox \最后一个工作簿已被激活.\ Next i End Sub

示例03-09:保护工作簿(Protect方法) Sub ProtectWorkbook()

MsgBox \保护工作簿结构,密码为123\

ActiveWorkbook.Protect Password:=\ MsgBox \保护工作簿窗口,密码为123\

ActiveWorkbook.Protect Password:=\ MsgBox \保护工作簿结构和窗口,密码为123\

ActiveWorkbook.Protect Password:=\rue

End Sub

示例说明:使用Protect方法来保护工作簿,带有三个可选参数,参数Password指明保护工作簿密码,要解除工作簿保护应输入此密码;参数Structure设置为True则保护工作簿结构,此时不能对工作簿中的工作表进行插入、复制、删除等操作;参数Windows设置为True则保护工作簿窗口,此时该工作簿右上角的最小化、最大化和关闭按钮消失。

示例03-10:解除工作簿保护(UnProtect方法) Sub UnprotectWorkbook() MsgBox \取消工作簿保护\

ActiveWorkbook.Unprotect \End Sub

示例03-11:工作簿的一些通用属性示例 Sub testGeneralWorkbookInfo()

MsgBox \本工作簿的名称为\

MsgBox \本工作簿带完整路径的名称为\ MsgBox \本工作簿对象的代码名为\

32