本文由日文译成中文。

要在 Excel VBA 中打开一本书,请使用 “Workbooks.Open” 方法

< Sponsored Links >





句法 “Open”

expression.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)

FileName = 要打开的图书名称
UpdateLinks = 如何更新文件中的链接

  • 1 = 用户指定如何更新链接
  • 2 = 打开图书时不刷新链接
  • 3 = 打开书籍时始终刷新链接

ReadOnly = 指定 “True” 以只读模式打开图书
Format = 打开文本文件时指定分隔符

  • 1 = TAB
  • 2 = comma (,)
  • 3 = space
  • 4 = semicolon (;)
  • 5 = None
  • 6 = custom character

我不使用任何其他 “arguments”。

 

使用 VBA 打开一本书的示例

打开一本书

打开 D 盘 “test” 文件夹中的 “aaa.xlsx”。

Sub BookOpenTest1()
  Workbooks.Open Filename:="D:\test\aaa.xlsx"
End Sub

 

以只读方式打开图书

以只读方式打开 D 盘 “test”文件夹中的 “aaa.xlsx” 文件。

Sub BookOpenTest2()
  Workbooks.Open Filename:="D:\test\aaa.xlsx", ReadOnly:=True
End Sub

 

打开受密码保护的文件

打开 D 盘 “test” 文件夹中的文件 “aaa.xlsx”,读取密码设置为 “bbb”。

Sub BookOpenTest3()
  Workbooks.Open Filename:="D:\test\aaa.xlsx", Password:="bbb"
End Sub

 

检查文件是否存在并打开。

D 盘的 “test” 文件夹中是否有 “aaa.xlsx”?
 如果存在,请打开。
 如果不存在,将显示一条信息。

Sub BookOpenTest4()
  If Dir("D:\test\aaa.xlsx") <> "" Then
    Workbooks.Open Filename:="D:\test\aaa.xlsx"
  Else
    MsgBox "D:\test\aaa.xlsx 不存在"
  End If
End Sub

 

上記の記述だとパスとファイル名を何度も記述しないといけないので、パスとファイル名を変数に入れてみます

Sub BookOpenTest5()
	Dim BookName As String

	BookName = "D:\test\aaa.xlsx"

	If Dir(BookName) <> "" Then
		Workbooks.Open Filename:=BookName
	Else
		MsgBox BookName & " 不存在"
	End If
End Sub

 

< Sponsored Links >