1、 ws.Cells(1, 3) = 产品数量For i = 2 To 10 ws.Cells(i, 1) = i - 1Next i应用示例3:创建带有指定数量工作表的工作簿Sub testNewWorkbook()创建一个带有10个工作表的新工作簿Set wb = NewWorkbook(10)Function NewWorkbook(wsCount AsInteger) As Workbook创建带有由变量wsCount提定数量工作表的工作簿,工作表数在1至255之间Dim OriginalWorksheetCount AsLongSet NewWorkbook = NothingIf w
2、sCount 255 ThenExitFunction OriginalWorksheetCount = Application.SheetsInNewWorkbook Application.SheetsInNewWorkbook = wsCountSet NewWorkbook = Workbooks.Add Application.SheetsInNewWorkbook = OriginalWorksheetCountEndFunction自定义函数NewWorkbook可以创建最多带有255个工作表的工作簿。本测试示例创建一个带有10个工作表的新工作簿。应用2 打开工作簿(Open方法
3、)Open方法用于打开一个现有的工作簿,其语法为:Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)可以看到,该方法具有很多参数,但大多数参数都很少用到。在这些参数中,除参数FileName必须外,其它参数都可选。参数FileName指定要打开的工作簿文件的名称,参数Upd
4、ateLinks指定更新工作簿中链接的方式,参数ReadOnly用来设置是否以只读方式打开工作簿。如果需要使用密码来打开工作簿,则应该将参数Password设置为该密码;如果需要使用密码打开工作簿但没有指定密码,则会弹出询问密码的对话框。参数AddToMru指定是否将工作簿添加到最近使用的文件列表中,建议将其设置为True,默认值为False。应用示例4:以只读方式打开某工作簿Sub openWorkbook2()Dim fname AsString将D盘中的工作簿以只读方式打开 fname = D:测试.xls Workbooks.Open Filename:=fname, ReadOnly
5、:=True应用3 访问特定的工作簿使用Item属性返回Workbooks集合中特定的工作簿。例如:Workbooks.Item(1)返回Workbooks集合中的第一个工作簿。由于Item属性是缺省的属性,因此上述代码也可以简写为:Workbooks(1)然而,使用索引号来指定工作簿是不可靠的,最好使用工作簿的具体名称来指定特定的工作簿,例如:Workbooks(MyBook.xlsx)注意,当用户使用“新建”命令创建一个新工作簿(假设该工作簿系统默认名称为Book2)时,在没有保存该工作簿前,应该使用下面的代码指定该工作簿:Book2此时,如果使用下面的代码指定该工作簿:Book2.xls
6、x将会产生运行时错误:下标越界。应用4 激活工作簿(Activate方法)使用Activate方法激活指定的工作簿,例如:MyWorkbook).Activate应用5 获得当前打开的工作簿数(Count属性)使用Workbooks集合对象的Count属性来获得当前打开的工作簿数,例如:Workbooks.Count应用6 判断工作簿是否是只读的(ReadOnly属性)如果工作簿以只读方式打开,那么ReadOnly属性的值为True。应用7 获得工作簿的路径和名称(Name属性、FullName属性、Path属性、CodeName属性)使用Workbook对象的Name属性可以返回工作簿的名称
7、。例如,下面的函数可以返回当前工作簿的名称:Function MyName() AsString MyName = ThisWorkbook.Name使用Workbook对象的FullName属性可以返回工作簿的路径和名称。例如,下面的函数可以返回当前工作簿的路径和名称:使用Workbook对象的Path属性可以返回工作簿文件的路径。使用Workbook对象的CodeName属性返回工作簿对象的代码名。上述属性均为只读属性。应用示例5:一些工作簿通用属性示例Sub testGeneralWorkbookInfo()本工作簿的名称为& ActiveWorkbook.Name本工作簿带完整路径的名
8、称为 ActiveWorkbook.FullName本工作簿对象的代码名为 ActiveWorkbook.CodeName本工作簿的路径为 ActiveWorkbook.PathIf ActiveWorkbook.ReadOnly Then本工作簿已经是以只读方式打开Else本工作簿可读写.EndIfIf ActiveWorkbook.Saved Then本工作簿已保存.本工作簿需要保存.应用8 保存工作簿(Save方法)使用Save方法保存对工作簿所作的所有更改,其语法为:Workbook.Save应用示例6:保存已存在的所有工作簿Sub SaveAllWorkbooks()Dim wbk
9、As WorkbookForEach wbk In WorkbooksIf wbk.Path Then wbk.SaveNext wbk如果某工作簿的Path属性值为空,则表明该工作簿为新建工作簿,还没有保存。而本过程仅保存所有已存在的(即已经保存过的)工作簿。应用9 保存工作簿(SaveAs方法)使用SaveAs方法在指定的文件中保存对工作簿所做的更改,其语法为:Workbook.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, Con
10、flictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)所有参数均为可选参数。其中参数FileName指定要保存文件的文件名,可以包含完整的路径,如果不指定路径,Excel将文件保存到当前文件夹中。参数FileFormat指定保存文件时使用的文件格式。如果文件夹中存在相同名称的工作簿,则提示是否替换原工作簿。参数Password用于指定文件的保护密码,是一个区分大小写的字符串(最长不超过 15 个字符)。参数WriteResPassword指定文件的写保护密码,如果文件保存时带有密码,但打开文件时没有输入密码,则该文件以
11、只读方式打开。将参数ReadOnlyRecommended设置为True,则在打开文件时显示一条消息,提示该文件以只读方式打开。将参数CreateBackup设置为True,以创建一个备份文件。参数AccessMode和参数ConflictResolution用来解决访问和冲突问题。将参数AddToMru设置为True,以添加工作簿到最近使用的文件列表中。默认值为False。应用示例7:创建新工作簿并保存Sub AddSaveAsNewWorkbook()Dim Wk As WorkbookSet Wk = Workbooks.Add Application.DisplayAlerts = F
12、alse Wk.SaveAs Filename:=SalesData.xlsx这里使用了Add方法和SaveAs方法,添加一个新工作簿并将该工作簿以文件名SalesData.xlsx保存在D盘中。其中,语句Application.DisplayAlerts = False表示禁止弹出警告对话框。应用示例8:另存已有的工作簿Sub SaveWorkbook2()Dim oldName AsString, newName AsStringDim folderName AsString, fname AsString oldName = ActiveWorkbook.Name newName = n
13、ew oldName将 oldName &以 0 i = InStr(i + 1, BackupFileName, WendIf i 0 Then BackupFileName = Left(BackupFileName, i - 1) BackupFileName = BackupFileName &.bak OK = FalseOnErrorGoTo NotAbleToSaveWith awb Application.StatusBar = 正在保存工作簿. .Save正在备份工作簿. .SaveCopyAs BackupFileName OK = TrueEndWithNotAbleTo
14、Save:Set awb = Nothing Application.StatusBar = FalseIfNot OK Then备份工作簿未保存!, vbExclamation, ThisWorkbook.Name在当前工作簿中运行本示例代码后,将以与工作簿相同的名称但后缀名为.bak备份工作簿,且该备份与当前工作簿在同一文件夹中。应用示例11:保存当前工作簿的副本到其它位置来备份工作簿Sub SaveWorkbookBackupToFloppyD() BackupFileName = awb.NameIf Dir( BackupFileName) Kill BackupFileName .
15、SaveCopyAs 上述程序将当前工作簿进行复制并以与当前工作簿相同的名称保存在D盘中。其中,使用了Kill方法来删除已存在的工作簿。应用11 判断工作簿是否发生变化(Saved属性)如果工作簿自上次保存以来没有发生任何变化,那么该工作簿的Saved属性值为True。由于该属性值是可读写的,因此我们能将该属性的值设置为True,即使该工作簿自上次保存之后发生过变化。这样,我们能设置该属性的值为True,关闭被修改过的工作簿而不提示保存当前已发生的变化,即让Excel误认为已经保存了所作的变化。应用12 关闭工作簿(Close方法)使用Workbooks对象的Close方法关闭所有工作簿,其语
16、法为:Workbooks.Close使用Workbook对象的Close方法关闭指定的工作簿,其语法为:Workbook.Close(SaveChanges, Filename, RouteWorkbook)参数均为可选参数。其中,参数SaveChanges用于在关闭工作簿前保存工作簿所发生的变化。特别地,如果工作簿中没有变化,则忽略该参数;如果工作簿中有变化但工作簿显示在其他打开的窗口中,则忽略该参数;如果工作簿中有改动且工作簿未显示在任何其他打开的窗口中,则由该参数指定是否应保存更改。如果将该参数设置为True,则保存对工作簿所做的更改;如果工作簿尚未命名,则使用参数FileName指定的
17、名称保存。如果忽略参数Filename,则要求用户提供文件名。如果将该参数设置为False,则不会保存工作簿中的变化。如果忽略该参数,那么Excel将显示一个对话框询问是否保存工作簿中的变化。参数RouteWorkbook指出工作簿传送的问题。如果工作簿不需要传送给下一个收件人(没有传送名单或已经传送),则忽略该参数。否则,Excel将根据该参数的值传送工作簿。如果将该参数设置为True,则将工作簿传送给下一个收件人。如果设置为False,则不发送工作簿。如果忽略,则要求用户确认是否发送工作簿。注意,Close方法检查工作簿的Saved属性,以决定是否提示用户保存工作簿所发生的变化。如果将Sa
18、ved属性的值设置为True,那么Close方法将不会警告而直接关闭工作簿,并不会保存工作簿中所发生的任何变化。应用示例12:保存并关闭所有工作簿Sub SaveAndCloseAllWorkbooks()If wbk.Name ThisWorkbook.Name Then wbk.Close SaveChanges: ThisWorkbook.Close SaveChanges:应用示例13:不保存而关闭工作簿Sub CloseWorkbook1()不保存所作的改变而关闭本工作簿 ActiveWorkbook.CloseFalse或ActiveWorkbook.Close SaveChang
19、es:=False或ActiveWorkbook.Saved=TrueEnd Subspan style=color: #0000ff;应用示例14:保存而关闭工作簿pre lang=vbSub CloseWorkbook2()保存所作的改变并关闭本工作簿 ActiveWorkbook.CloseTrue应用示例15:关闭工作簿并将其彻底删除Sub KillMe()With ThisWorkbook .Saved = True .ChangeFileAccess Mode:=xlReadOnly Kill .FullName .CloseFalse应用13 打印预览工作簿(PrintPrevi
20、ew方法)使用PrintPreview方法按工作簿打印后的外观效果显示工作簿的预览,其语法为:Workbook.PrintPreview(EnableChanges)参数EnableChanges指定用户是否可更改边距和打印预览中可用的其他页面设置选项。应用14 打印工作簿(PrintOut方法)使用PrintOut方法打印完整的工作簿(当然,该方法也应用于其它一些对象,例如Range、Worksheet、Chart),其语法为:Workbook.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, P
21、rToFileName, IgnorePrintAreas)参数From指定需要打印第一页的页码,参数To指定要打印的最后一页的页码,如果忽略这些参数,将打印整个对象。参数Copies指定要打印副本的数量,默认值为1。如果参数Preview设置为True,那么将弹出打印预览而不是立即打印。使用参数ActivePrinter设置活动打印机的名称。如果将参数PrintToFile设置为True,那么将工作簿打印到文件。此时,如果没有指定参数PrToFileName的值,那么Excel将提示用户输入要使用的输出文件的文件名。使用参数PrToFileName指定要打印到的文件名。将参数Collate设置为True,以逐份打印副本。将参数IgnorePrintAreas设置为真,则忽略打印区域而打印整个对象。应用15 保护工作簿(Protect方法)使用Protect方法保护工作簿,使其不能够被修改,其语法为:Workbook.Protect(Password, Structure, Windows)其中,参数Password用来指定一个密码,所设置的密码区分大小写。如果省略该参数,不用密码就可以取消对工作簿的保护。否则,必须指定密码才能取消对工作簿的保护。将参数Structure的值设置为True,以保护工作簿的结构,即工作簿中工作表的相关位置。此时不能
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1