如何在vba中打开工作簿?
要使用VBA打开工作簿,需要使用“Workbook.Open”方法并指定文件路径(确保指定带有扩展名文件名和类型的工作簿的完整路径)。此方法共有 15 个可选参数,可用于处理不同的文件类型。
在本教程中,我们将详细探讨它并查看您可以使用的替代方法。
使用 VBA 打开工作簿的步骤
- 要启动代码,请使用“Workbooks”对象。
- 之后键入句点 (.),然后从列表中选择“打开”方法。
- 在第一个参数中指定文件路径,并确保将其用双引号引起来。
- 最后,运行代码以打开工作簿。
Sub vba_open_workbook() Workbooks.Open "C:UsersDellDesktopmyFile.xlsx" End Sub
有用的链接:运行宏–宏记录器– Visual Basic 编辑器–个人宏手册
Workbook.Open 语法
现在是时候看看您刚刚在上面的示例中使用的方法的语法了。正如我提到的,您可以使用 15 个参数:
expression.Open (FileName, UpdateLinks, _ ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, _ Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)
您不会使用所有这些参数。但其中一些非常重要,可能对现实世界中的您有用。
打开受密码保护的工作簿
如果要打开受密码保护的工作簿,在这种情况下,可以使用密码参数指定密码。
这里我在桌面上有一个工作簿,其密码为“test123”,现在我想同时打开它并取消保护。这是我需要使用的代码。
Workbooks.Open "C:UsersDellDesktopmyFile.xlsx", , , Password:="test123"
打开只读工作簿
打开只读工作簿时,您无法对同一工作簿进行更改,但必须保存其副本。
Workbooks.Open "C:UsersDellDesktopFolder1.xlsx", , True
打开文件夹中的所有工作簿
Sub vba_open_multiple_workbooks_folder() Dim wb As Workbook Dim strFolder As String Dim strFile As String strFolder = "C:UsersDellDesktopFolder" strFile = Dir(strFolder & "*.xls*") Do While strFile <> "" Set wb = Workbooks.Open(strFolder & strFile) strFile = Dir Loop End Sub
要根据您的要求使用它,请确保更改文件夹路径。
工作簿文件打开对话框
Sub vba_open_dialog() Dim strFile As String strFile = Application.GetOpenFilename() Workbooks.Open (strFile) End Sub