在VBA中,我以編程方式打開了一個名為“myWork.XL”的MSExcel文件。現在,我想要一個可以告訴我它的狀態的代碼-不管它是否是開放的。比如說IsWorkBookOpened("myWork.XL) ?檢測Excel工作簿是否已打開
3 回答

蝴蝶不菲
TA貢獻1810條經驗 獲得超4個贊
Option ExplicitSub Sample() Dim Ret Ret = IsWorkBookOpen("C:\myWork.xlsx") If Ret = True Then MsgBox "File is open" Else MsgBox "File is Closed" End IfEnd SubFunction IsWorkBookOpen(FileName As String) Dim ff As Long, ErrNo As Long On Error Resume Next ff = FreeFile() Open FileName For Input Lock Read As #ff Close ff ErrNo = Err On Error GoTo 0 Select Case ErrNo Case 0: IsWorkBookOpen = False Case 70: IsWorkBookOpen = True Case Else: Error ErrNo End SelectEnd Function

郎朗坤
TA貢獻1921條經驗 獲得超9個贊
Function BookOpen(strBookName As String) As Boolean Dim oBk As Workbook On Error Resume Next Set oBk = Workbooks(strBookName) On Error GoTo 0 If oBk Is Nothing Then BookOpen = False Else BookOpen = True End IfEnd FunctionSub testbook() Dim strBookName As String strBookName = "myWork.xls" If BookOpen(strBookName) Then MsgBox strBookName & " is open", vbOKOnly + vbInformation Else MsgBox strBookName & " is NOT open", vbOKOnly + vbExclamation End IfEnd Sub
添加回答
舉報
0/150
提交
取消