程序要求:
判断一个Excel文件是否打开。
实现方法:
窗体布局如下:
代码如下:
'先引用 Microsoft Excel 11.0 Object Library(Excel2003) 后再声明:
Dim xlApp As New Excel.Application
Dim xlBook As New Excel.Workbook
Dim xlSheet As New Excel.Worksheet
Private Sub Command1_Click() '打开Excel文件
Set xlBook = xlApp.Workbooks.Open("" & App.Path & "\test.xls")
xlBook.RunAutoMacros (xlAutoOpen)
xlApp.Visible = True
End Sub
Private Sub Command2_Click() '关闭Excel文件
On Error Resume Next
xlBook.RunAutoMacros (xlAutoClose)
xlBook.Close (True)
xlApp.Quit
Set xlApp = Nothing
End Sub
Private Sub Command3_Click() '判断Excel文件是打开还是关闭状态
'以下代码结合xls中的宏实现判断
If Dir("" & App.Path & "\excel.bz") = "" Then
MsgBox "关闭状态"
Else
MsgBox "打开状态"
End If
End Sub
=================================================================================
代码中用到的test.xls文件中的VBA部分:(进入VBE,新建一个模块,然后放置以下代码)
Sub auto_open()
Open "" & Application.ActiveWorkbook.Path & "\excel.bz" For Output As #1 '创建并写标志文件
Close #1
End Sub
Sub auto_close()
Kill "" & Application.ActiveWorkbook.Path & "\excel.bz" '删除标志文件
End Sub