您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > EXCEL-Workbook对象应用大全
Workbook对象应用大全Workbook对象代表一个工作簿,Workbooks集合对象则代表同一Excel进程中打开的所有工作簿对象。[应用1]创建新工作簿(Add方法)使用Add方法在Workbooks集合中创建新工作簿,所创建的工作簿为活动工作簿。其语法为:Workbooks.Add(Template)参数Template可选,决定如何创建新工作簿。如果将该参数设置为已存在的Excel模板文件名称,那么将以该文件作为模板创建工作簿。该参数可以为下列XlWBATemplate常量之一:xlWBATChart(值-4109,代表图表)、xlWBATExcel4IntlMacroSheet(值4)、xlWBATExcel4MacroSheet(值3)、xlWBATWorksheet(值-4167,代表工作表)。在创建新工作簿时,如果指定该参数,那么将创建包含指定类型工作表的工作簿;如果省略该参数,那么将创建包含一定数量空工作表的工作簿,工作表数为SheetsInNewWorkbook属性所设置的数量。应用示例1:创建一个新工作簿SubCreateNewWorkbook1()MsgBox将创建一个新工作簿.Workbooks.AddEndSub应用示例2:创建一个新工作簿并命名工作表且添加数据SubCreateNewWorkbook2()DimwbAsWorkbookDimwsAsWorksheetDimiAsLongMsgBox将创建一个新工作簿,并预设工作表格式.Setwb=Workbooks.AddSetws=wb.Sheets(1)ws.Name=产品汇总表ws.Cells(1,1)=序号ws.Cells(1,2)=产品名称ws.Cells(1,3)=产品数量Fori=2To10ws.Cells(i,1)=i-1NextiEndSub应用示例3:创建带有指定数量工作表的工作簿SubtestNewWorkbook()MsgBox创建一个带有10个工作表的新工作簿DimwbAsWorkbookSetwb=NewWorkbook(10)EndSubFunctionNewWorkbook(wsCountAsInteger)AsWorkbook'创建带有由变量wsCount提定数量工作表的工作簿,工作表数在1至255之间DimOriginalWorksheetCountAsLongSetNewWorkbook=NothingIfwsCount1OrwsCount255ThenExitFunctionOriginalWorksheetCount=Application.SheetsInNewWorkbookApplication.SheetsInNewWorkbook=wsCountSetNewWorkbook=Workbooks.AddApplication.SheetsInNewWorkbook=OriginalWorksheetCountEndFunction自定义函数NewWorkbook可以创建最多带有255个工作表的工作簿。本测试示例创建一个带有10个工作表的新工作簿。[应用2]打开工作簿(Open方法)Open方法用于打开一个现有的工作簿,其语法为:Workbooks.Open(FileName,UpdateLinks,ReadOnly,Format,Password,WriteResPassword,IgnoreReadOnlyRecommended,Origin,Delimiter,Editable,Notify,Converter,AddToMru,Local,CorruptLoad)可以看到,该方法具有很多参数,但大多数参数都很少用到。在这些参数中,除参数FileName必须外,其它参数都可选。参数FileName指定要打开的工作簿文件的名称,参数UpdateLinks指定更新工作簿中链接的方式,参数ReadOnly用来设置是否以只读方式打开工作簿。如果需要使用密码来打开工作簿,则应该将参数Password设置为该密码;如果需要使用密码打开工作簿但没有指定密码,则会弹出询问密码的对话框。参数AddToMru指定是否将工作簿添加到最近使用的文件列表中,建议将其设置为True,默认值为False。应用示例4:以只读方式打开某工作簿SubopenWorkbook2()DimfnameAsStringMsgBox将D盘中的测试.xls工作簿以只读方式打开fname=D:\测试.xlsWorkbooks.OpenFilename:=fname,ReadOnly:=TrueEndSub[应用3]访问特定的工作簿使用Item属性返回Workbooks集合中特定的工作簿。例如:Workbooks.Item(1)返回Workbooks集合中的第一个工作簿。由于Item属性是缺省的属性,因此上述代码也可以简写为:Workbooks(1)然而,使用索引号来指定工作簿是不可靠的,最好使用工作簿的具体名称来指定特定的工作簿,例如:Workbooks(MyBook.xlsx)注意,当用户使用“新建”命令创建一个新工作簿(假设该工作簿系统默认名称为Book2)时,在没有保存该工作簿前,应该使用下面的代码指定该工作簿:Workbooks(Book2)此时,如果使用下面的代码指定该工作簿:Workbooks(Book2.xlsx)将会产生运行时错误:下标越界。[应用4]激活工作簿(Activate方法)使用Activate方法激活指定的工作簿,例如:Workbooks(MyWorkbook).Activate[应用5]获得当前打开的工作簿数(Count属性)使用Workbooks集合对象的Count属性来获得当前打开的工作簿数,例如:Workbooks.Count[应用6]判断工作簿是否是只读的(ReadOnly属性)如果工作簿以只读方式打开,那么ReadOnly属性的值为True。[应用7]获得工作簿的路径和名称(Name属性、FullName属性、Path属性、CodeName属性)使用Workbook对象的Name属性可以返回工作簿的名称。例如,下面的函数可以返回当前工作簿的名称:FunctionMyName()AsStringMyName=ThisWorkbook.NameEndFunction使用Workbook对象的FullName属性可以返回工作簿的路径和名称。例如,下面的函数可以返回当前工作簿的路径和名称:FunctionMyName()AsStringMyName=ThisWorkbook.NameEndFunction使用Workbook对象的Path属性可以返回工作簿文件的路径。使用Workbook对象的CodeName属性返回工作簿对象的代码名。上述属性均为只读属性。应用示例5:一些工作簿通用属性示例SubtestGeneralWorkbookInfo()MsgBox本工作簿的名称为&ActiveWorkbook.NameMsgBox本工作簿带完整路径的名称为&ActiveWorkbook.FullNameMsgBox本工作簿对象的代码名为&ActiveWorkbook.CodeNameMsgBox本工作簿的路径为&ActiveWorkbook.PathIfActiveWorkbook.ReadOnlyThenMsgBox本工作簿已经是以只读方式打开ElseMsgBox本工作簿可读写.EndIfIfActiveWorkbook.SavedThenMsgBox本工作簿已保存.ElseMsgBox本工作簿需要保存.EndIfEndSub[应用8]保存工作簿(Save方法)使用Save方法保存对工作簿所作的所有更改,其语法为:Workbook.Save应用示例6:保存已存在的所有工作簿SubSaveAllWorkbooks()DimwbkAsWorkbookForEachwbkInWorkbooksIfwbk.PathThenwbk.SaveNextwbkEndSub如果某工作簿的Path属性值为空,则表明该工作簿为新建工作簿,还没有保存。而本过程仅保存所有已存在的(即已经保存过的)工作簿。[应用9]保存工作簿(SaveAs方法)使用SaveAs方法在指定的文件中保存对工作簿所做的更改,其语法为:Workbook.SaveAs(FileName,FileFormat,Password,WriteResPassword,ReadOnlyRecommended,CreateBackup,AccessMode,ConflictResolution,AddToMru,TextCodepage,TextVisualLayout,Local)所有参数均为可选参数。其中参数FileName指定要保存文件的文件名,可以包含完整的路径,如果不指定路径,Excel将文件保存到当前文件夹中。参数FileFormat指定保存文件时使用的文件格式。如果文件夹中存在相同名称的工作簿,则提示是否替换原工作簿。参数Password用于指定文件的保护密码,是一个区分大小写的字符串(最长不超过15个字符)。参数WriteResPassword指定文件的写保护密码,如果文件保存时带有密码,但打开文件时没有输入密码,则该文件以只读方式打开。将参数ReadOnlyRecommended设置为True,则在打开文件时显示一条消息,提示该文件以只读方式打开。将参数CreateBackup设置为True,以创建一个备份文件。参数AccessMode和参数ConflictResolution用来解决访问和冲突问题。将参数AddToMru设置为True,以添加工作簿到最近使用的文件列表中。默认值为False。应用示例7:创建新工作簿并保存SubAddSaveAsNewWorkbook()DimWkAsWorkbookSetWk=Workbooks.AddApplication.DisplayAlerts=FalseWk.SaveAsFilename:=D:\SalesData.xlsxEndSub这里使用了Add方法和SaveAs方法,添加一个新工作簿并将该工作簿以文件名SalesData.xlsx保存在D盘中。其中,语句Application.DisplayAlerts=False表示禁止弹出警告对话框。应用示例8:另存已有的工作簿SubSaveWorkbook2()DimoldNameAsString,newNameAsStringDimfolderNameAsString,fnameAsStringoldName=ActiveWorkbook.NamenewName=new&oldNameMsgBox将&oldName&以&newName&的名称保存folderName=Application.DefaultFilePathfname=folderName&\&newNameActiveWorkbook.SaveAsfnameEndSub上述代码将当前工作簿以一个新名(即new加原名)保存在默认文件夹中。应用示例9:备份工作簿SubCreateBak1()MsgBox保存工作簿并建立备份工作簿ActiveWorkbook.SaveAsCreateBackup:=TrueEndSub上述代码在当前文件夹中建立工作簿的备份。SubCreateBak2()MsgBox保存工作簿时,若已建立了备份,则将出现包含True的信息框,否则出现False.MsgBoxActiveWorkbook.CreateBackupEndSub[应用10]保存工作簿副本(SaveCopyAs方法)使用SaveCopyAs方法保存指定工作簿的一份副本,但不会修改已经打开的工作簿,其语法为:Workbook.SaveCopyAs(Filename)参数Filename用来指定副本的文件名。应用示例10:使用与活动工作簿相同的名称但后缀名为.bak来备份工作簿Sub
本文标题:EXCEL-Workbook对象应用大全
链接地址:https://www.777doc.com/doc-4472958 .html