目录
示例
实现代码
打开关闭的工作簿
示例
如图所示,在“数据库.xlsx”工作簿中存有“销售数据”,在相同目录下的工作簿 希望能够将该工作簿中该工作表中的数据读入以便进行下一步操作。该如何用VBA完成?
实现代码
Option ExplicitSub 跨工作薄读取数据()Dim wbkThis As WorkbookDim wbkOpen As WorkbookSet wbkThis = thisbookSet wbkOpen = Workbooks.Open(wbkthisbook.Path & "\数据库.xlsx")'把打开的工作薄中的第1个工作表的内容复制到当前工作薄中wbkOpen.Worksheets(1).Cells.Copy wbkThis.Worksheets(1).Range("A1")'关闭工作蔳且不保存wbkOpen.Close FalseEnd Sub
打开关闭的工作簿
当工作簿关闭时,可以利用Workbooks的Open方法打开,其语法为:
Workbooks.Open(FileName,UpdateLinks,ReadOnly,Format,Password,WriteResPassword,IgnoreReadOnlyRecommended,Origin,Delimiter,Editable, Notify,Converter,AddToMru, Local,CorruptLoad)
该方法可以返回一个工作簿对象(Workbook)。
参数FileName为必选参数,可以输入一个文本,表示需要打开的工作簿完整路径。该完整路径应包括完整的盘符、路径和文件名。 可选参数UpdateLinks表示是否更新外部数据。当其省略时,则在打开工作簿时Excel会提示用户是否更新。该参数可以指定值为0(不更新外部链接)或者3(更新外部链接)。 可选参数ReadOnly表示以只读方式打开工作簿,当其为True时,表示以只读方式打开工作簿。 可选参数Format表示当打开的文件为文本文件时,该文件以何种标点作为分隔符。该参数可以为表中的任意值。
WorkBooks集合Open方法Format参数
可选参数Password为文本,表示工作簿打开的密码(最长不超过15位)。可选参数WriteResPas sword为文本,表示工作簿写保护的密码。当设置了该参数后,打开文件时必须提供密码才可以编辑,否则文件为只读。可选参数IgnoreReadOnlyRecommended为逻辑值,当为True时,则在打开文件时会有忽略只读建议的提示框。可选参数Origin表示当打开文本文件时,其适用的操作系统,可以为xIMacintosh、xIWindows或者xIMSDOS。可选参数Delimiter表不当打开固定分隔符的文本文件时,若指定Format参数为6(用户自定义)时所选用的分隔符,则可以是长度为1的一个文本。可选参数Editable表示打开加载宏文件或者模板文件时是否可见,当为True时表示可见。可选参数Notify为True时,表示当Excel无法以读写模式打开文件时会将文件加入提示列表并发出警告提示。可选参数Converter表示是否转换文件格式。可选参数AddToMru表不是否加入最近的文件列表,当为True时表示加入。可选参数Local为逻辑值,表示存储文件的语言设置,当为True时,表示按照控制面板中的设置保存,当为False时,表示按照VBA工程的语言设置保存。可选参数CorruptLoad表示打开文件的模式,可以为xINormaILoad(普通)、xIRepairFile(修复文件)或者xIExtractData(数据压缩模式)。
一般情况下,打开工作簿只需设置工作簿的完整路径即可。在打开工作簿后,由于Open方法可以返回一个工作簿对象。因而一般将Open方法的返回值赋值给一个工作簿对象变量,以便进行下一步操作。
当需要跨工作簿复制工作表中单元格的内容时,则必须使用单元格的完整表示,以描述所要访问的单元格属于哪个工作表或哪个工作簿。否则,程序将会认为缺省的描述部分为当前工作簿或当前工作表。