工作簿_Workbook_基本操作应用示例

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

Workbook对象代表工作簿,而Workbooks集合则包含了当前所有的工作簿。下面对 Workbook对象的重要的方法和属性以及其它一些可能涉及到的方法和属性进行示例介绍, 同时,后面的示例也深入介绍了一些工作簿对象操作的方法和技巧。

示例03-01:创建工作簿(Add方法)

[示例 03-01-01]

Sub CreateNewWorkbookl () 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.Disp丨ayAlerts = False Wk.SaveAs Filename:=\End Sub

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

http://fanjy.blog.exce丨home.net

ExcelVBA>>ExcelVBA 编程入门范例>> 第三章 Workbook 对象(fanjy)

示例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 = \ 测试.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 SaveA丨丨Workbook1 () Dim wb As Workbook

MsgBox \保存所有打开的工作簿后退出Excel.\ For Each wb In Application.Workbooks wb.Save Next wb Application.Quit

http://fanjy.blog.excelhome.net

ExcelVBA>>ExcelVBA 编程入门范例>> 第三章 Workbook 对象(fanjy)

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

MsgBox \将<\& oldName & “>以<“& newName & \的名称保存\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]

http://fanjy.blog.excelhome.net

ExcelVBA>>ExcelVBA 编程入门范例>> 第三章 Workbook 对象(fanjy)

Sub CreateBak2()

MsgBox \保存工作簿时,若已建立了备份,则将出现包含True的信息框,否则出现False.\MsgBox ActiveWorkbook.CreateBackup End Sub

示例03-07:取得当前打开的工作簿数(Count属性)

Sub WorkbookNum()

MsgBox \当前已打开的工作簿数为:\& Chr(10) & Workbooks.Count End Sub

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

[示例 03-08-01]

Sub ActivateWorkbook1 ()

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(\第“& i & \个工作簿被激活,还要继续吗?\,vbYesNo) 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:=\End Sub

示例说明:使用Protect方法来保护工作簿,带有三个可选参数,参数Password指明保护 工作簿密码,要解除工作簿保护应输入此密码;参数Structure设置为True则保护工作簿结

http://fanjy.blog.excelhome.net

构,此时不能对工作簿中的工作表进行插入、复制、删除等操作;参数Windows设置为True 则保护工作簿窗口,此时该工作簿右上角的最小化、最大化和关闭按钮消失。

示例03-10:解除工作簿保护(UnProtect方法)

Sub UnprotectWorkbook() MsgBox \取消工作簿保护\ActiveWorkbook.Unprotect \End Sub

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

Sub testGenera丨WorkbookInfo()

MsgBox \本工作簿的名称为\& ActiveWorkbook. Name

MsgBox \本工作簿带完整路径的名称为\& ActiveWorkbook.Fu丨丨Name MsgBox \本工作簿对象的代码名为\& ActiveWorkbook.CodeName MsgBox \本工作簿的路径为\& ActiveWorkbook. Path If ActiveWorkbook.ReadOnly Then

MsgBox \本工作簿已经是以只读方式打开\Else

MsgBox \本工作簿可读写.\ End If

If ActiveWorkbook.Saved Then MsgBox \本工作簿已保存.\ Else

MsgBox \本工作簿需要保存.\ End If End Sub

示例03-12:访问工作簿的内置属性(BuNtinDocumentProperties属性)

[示例 03-12-01]

Sub ShowWorkbookProperties() Dim SaveTime As String On Error Resume Next

SaveTime = ActiveWorkbook.BuiltinDocumentProperties(\If SaveTime = \Then

MsgBox ActiveWorkbook.Name & \工作簿未保存.\Else

MsgBox \本工作簿已于\& SaveTime & \保存\,,ActiveWorkbook.Name End If End Sub

示例说明:在Excel中选择菜单“文件——属性”命令时将会显示一个“属性”对话框,该 对话框中包含了当前工作簿的有关信息,可以在VBA中使用BuiltinDocumentProperties属 性访问工作簿的属性。上述示例代码将显示当前工作簿保存时的日期和时间。

http://fanjy.blog.exce丨home.net

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4