所以...我用這段代碼以供參考:檢查excel工作簿是否打開?
Option Explicit
Sub Sample()
Dim Ret
Ret = IsWorkBookOpen("C:\myWork.xlsx")
If Ret = True Then
MsgBox "File is open"
Else
MsgBox "File is Closed"
End If
End Sub
Function 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 Select
End Function
我用我的工作簿和代表一切,但是第15行返回語法錯誤:FF = FreeFile_()。
爲什麼會出現這種情況?有什麼語法錯誤? 我正在嘗試檢查工作簿是否由其他用戶打開,因爲如果是這種情況,我無法將這些值保存在工作簿中。
感謝答案,D
在你的評論中你寫'ff = FreeFile _()',但是在你的代碼中'ff = FreeFile()'。沒有下劃線的初始代碼正常工作。 –
是的,我知道......在我的代碼中,我寫了ff = FreeFile(),但是當我得到錯誤時,它已經強調了它。 –
嘗試沒有括號的'ff = FreeFile'。我有Excel 2016,它適用於或不適用它們。 –