您的当前位置:首页正文

VBA技巧42 打开指定的工作簿

2021-06-22 来源:易榕旅网
技巧1 打开指定的工作簿

VBA中使用Open方法打开一个工作簿,如下面的代码所示。

#001 Sub Openfile() #002 Dim x As Integer

#003 For x = 1 To Workbooks.Count

#004 If Workbooks(x).Name = \"123.xls\" Then #005 MsgBox \"\"\"123\"\"工作簿已经打开!\" #006 Exit Sub #007 End If #008 Next

#009 Workbooks.Open ThisWorkbook.Path & \"\\123.xls\" #010 End Sub

代码解析:

Openfile过程打开同一目录中的“123”工作簿。

第3行代码利用Workbook对象的Count属性取得打开工作簿的数目,使用For...Next 语句遍历所有打开的工作簿。遍历工作簿除了使用For...Next 语句外还可以使用For...Each...Next语句来遍历Workbook对象集合中的所有元素。

第4行到第8行代码遍历所有打开的工作簿,如果Workbook对象集合中存在“123”工作簿,说明“123”工作簿已打开,则显示一条如图 1-1所示的提示信息。

图 1-1 工作簿已打开提示

第9行代码如果“123”工作簿没有被打开则使用Open方法打开“123”工作簿。 Open方法应用于Workbooks 对象时打开一个工作簿,语法如下:

expression.Open(FileName, UpdateLinks, ReadOnly, Format, Password,

WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)

参数expression是必需的,返回一个Workbooks对象 参数FileName是必需的,要打开的工作簿的文件名。

参数UpdateLinks是可选的,指定文件中链接的更新方式。如果省略本参数,则提示用户选择链接的更新方式。否则,该参数的取值应为表格 1-1中的某个值。

值 0 1 2 3 描述 不更新任何引用 更新外部引用,但不更新远程引用 更新远程引用,但不更新外部引用 同时更新远程引用和外部引用 表格 1-1 UpdateLinks参数值

参数ReadOnly是可选的,如果该值为True,则以只读模式打开工作簿。

参数Format是可选的,如果Microsoft Excel正在打开一个文本文件,则该参数用于指定分隔字符,如表格 1-2所示。如果省略本参数,则使用当前的分隔符。

值 1 2 3 4 5 6 分隔符 制表符 逗号 空格 分号 没有分隔符 自定义字符(请参阅 Delimiter 参数) 表格 1-2 Format参数值

参数Password是可选的,该字符串指定打开一个受保护工作簿的密码。如果省略该参数并且指定工作簿已设置密码,则提示用户输入密码。

参数WriteResPassword是可选的,该字符串为一个写保护工作簿的写入权密码。如果省略该参数并且指定工作簿已设置密码,则提示用户输入密码。

参数IgnoreReadOnlyRecommended是可选的,如果该值为True,则设置Microsoft Excel不显示建议只读消息(如果该工作簿以“建议只读”选项保存)。

参数Origin是可选的,如果文件为文本文件,则该参数用于指示该文件来源于何种操作系统。

参数Delimiter是可选的,如果该文件为文本文件并且Format参数为 6,则此参数用

于指定用作分隔符的字符。

参数Editable是可选的,如果该文件为Microsoft Excel 4.0加载宏,则该参数的值为True时可打开该加载宏以便在窗口中看到。如果该参数的值为False或者省略该参数,则该加载宏以隐藏方式打开,并且无法设为可见。

参数Notify是可选的,当该文件不能以可读写模式打开时,如果该参数的值为True,则可将该文件添加到文件通知列表。

参数Converter是可选的,打开文件时试用的第一个文件转换器的索引号。

参数AddToMru是可选的,如果该值为True,则将该工作簿添加到最近使用的文件列表中。默认值为False。

参数Local是可选的,如果该值为True,则以Microsoft Excel(包括控制面版设置)的语言保存文件。如果该值为False(默认值),则以 Visual Basic for Applications (VBA)的语言保存文件,其中Visual Basic for Applications (VBA)为典型安装的美国英语版本,除非VBA项目的Workbooks.Open来自旧的国际化的XL5/95 VBA项目。

参数CorruptLoad是可选的,可为以下常量之一:xlNormalLoad、xlRepairFile 和 xlExtractData。如果未指定任何值,则默认值通常为普通状态。

因篇幅问题不能全部显示,请点此查看更多更全内容