如果第二次使用(VBA)打开同一文件时已closuresExcel文件(已closures)
我有一个打开Excel文件的命令button。
但是,如果第二次打开同一个文件,它应该先closures它然后重新打开它。
所以我正在寻找这样的代码 – 我会非常感谢这个帮助。
检查是否打开,如果没有打开,请使用close方法closures它。
以下代码来源于此VBAXpress文章
Function IsFileOpen(FileName As String) Dim iFilenum As Long Dim iErr As Long On Error Resume Next iFilenum = FreeFile() Open FileName For Input Lock Read As #iFilenum Close iFilenum iErr = Err On Error Goto 0 Select Case iErr Case 0: IsFileOpen = False Case 70: IsFileOpen = True Case Else: Error iErr End Select End Function Sub test() If Not IsFileOpen("C:\MyTest\volker2.xls") Then Workbooks.Open "C:\MyTest\volker2.xls" End If End Sub
如果只想closures工作簿而不提示用户有关保存工作簿的任何确认,则可以简单地执行此操作:
ActiveWorkbook.Close False
'closures活动工作簿而不保存任何更改
ActiveWorkbook.Close True
'closures活动工作簿并保存所有更改
ActiveWorkbook.Close
'closures活动工作簿并让用户决定是否要保存更改
Workbooks("BOOK1.XLS").Close SaveChanges:=False
工作簿有一个Close
方法。
看到这里