So ... Ich habe dieses Stück Code als Referenz:Überprüfen Sie, ob die Excel-Arbeitsmappe geöffnet ist.
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
ich meine Arbeitsmappe verwendet und alles, aber es gibt Syntaxfehler in Zeile 15: ff = FreeFile_().
Warum ist das der Fall? Welcher Syntaxfehler ist da? Ich versuche zu überprüfen, ob Arbeitsmappe von einem anderen Benutzer geöffnet wird, denn wenn das der Fall ist, kann ich die Werte in der Arbeitsmappe nicht speichern.
Danke für Antworten, D.
In Ihrem Kommentar schreiben Sie 'ff = FreeFile _()' aber in Ihrem Code 'ff = FreeFile()'. Anfangscode ohne Unterstrich funktioniert einwandfrei. –
Ja, ich weiß ... In meinem Code schrieb ich ff = FreeFile(), aber wenn ich Fehler erhalte, hat es darin unterstrichen. –
Versuchen Sie 'ff = FreeFile' ohne Klammern. Ich habe Excel 2016 und es funktioniert mit oder ohne sie gut. –