利用 GetObject 方法打开Excel文档 Sub GetWorkbook() Dim wbWorkFile As Workbook Set wbWorkFile = GetObject("D:\test.xlsx") ' wbWorkFile.Windows(1).Visible = True ' 这种方法打开的文件是隐藏的,如果需要显示,则设置Visible值为ture wbWorkFile.Close False Set wbWorkFile = Nothing End Sub利用 Open 方法打开Excel文档Sub OpenWorkbook() Dim wbWorkFile As Workbook Set wbWorkFile = Workbooks.Open("D:\test.xlsx") wbWorkFile.Windows(1).Visible = False wbWorkFile.Close False Set wbWorkFile = NothingEnd Sub
延伸其扩展方法:
GetObject封装方法,可以作为共通Function
Sub GetWorkbook() Dim objExcel As Object ' 用于存放Microsoft Excel 引用的变量。 Dim blnExcelWasNotRunning As Boolean ' 用于最后释放的标记。 ' 测试 Microsoft Excel 的副本是否在运行。 On Error Resume Next ' 延迟错误捕获。 ' 不带第一个参数调用 Getobject 函数将返回对该应用程序的实例的引用。如果该应用程序不在运行,则会产生错误。 Set objExcel = Getobject(, "Excel.Application") If Err.Number <> 0 Then blnExcelWasNotRunning = True Err.Clear ' 如果发生错误则要清除 Err 对象。 Set objExcel = Getobject("C:\excel.xlsx") ' 将对象变量设为对要看的文件的引用。 ' 设置其 Application 属性,显示 Microsoft Excel。然后使用 objExcel 对象引用的 Windows 集合显示包含该文件的实际窗口。 objExcel.Application.Visible = True objExcel.Parent.Windows(1).Visible = True ' 在此处对文件进行操作。 ' ... ' 如果在启动时,Microsoft Excel 的这份副本不在运行中,则使用 Application 属性的 Quit 方法来关闭它。 ' 注意,当试图退出 Microsoft Excel 时,标题栏会闪烁,并显示一条消息询问是否保存所加载的文件。 If blnExcelWasNotRunning = True Then objExcel.Application.Quit End IF Set objExcel = Nothing ' 释放对该应用程序End SubOpenWorkbook封装方法,可以作为共通FunctionFunction OpenWorkbook(ByVal strWorkbookFilePath As String) Dim wb As Workbook Dim fileName As String fileName = Dir(strWorkbookFilePath) On Error Resume Next Set wb = Workbooks(fileName) On Error GoTo 0 If wb Is Nothing Then Set wb = Workbooks.Open(strWorkbookFilePath) End If Set OpenWorkbook = wbEnd FunctionVBA编程神器放送
VBA编程神器 VBA代码助手 可以极大提高编程速度,降低编程门槛欢迎使用
私信回复 代码助手 即可获得
用法 输入 字典+空格 即可看到如下提示 也可输入 dic+空格 zd+空格 均可得到提示
本提示数据库可完全自定义!