Ich habe dieses Thema bereits am 24.01.2003/07:28:37 gepostet und von "Steffen D" eine vielversprechende Antwort erhalten.
Ich möchte hiermit nochmal, vor allem an "Steffen D", eine Nachfrage stellen, da ich anscheinend für die richtige Umsetzung des Lösungsvorschlages von "Steffen D" nicht genug VBA-Kenntnisse besitze.
Mein Anliegen:
Ich möchte eine zweite Öffnung einer Excel-Datei in einem Netzwerk beim Öffnen mit einem Hinweis versehen. Dieser Hinweis sollte nach Möglichkeit von selbst erscheinen, d.h. ein VBA-Makro soll gleichzeitig mit dem Öffnen-Befehl gestarte werden.
Der Lösungsvorschlag von "Steffen D":
...mit dem Makro DateiIstFrei kannst du überprüfen ob die Datei bereits wo anders geöffnet ist:
Sub test()
If Not DateiIstFrei("C:\Mappe1.xls") Then
MsgBox "Datei wird gerade benutzt!"
'weitere Anweisungen
End If
End Sub
Function DateiIstFrei(ByVal sDateiname As String) As Boolean
Dim hFile As Integer
On Error Resume Next
hFile = FreeFile()
Open sDateiname For Random Access Read Lock Read Write As #hFile
If Err Then
DateiIstFrei = False
Else
DateiIstFrei = True
End If
Close #hFile
End Function
das andere makro ("test") zeigt nur wie man das andere makro aufrufen muss...
d.h. wenn das Makro DateiIstFrei True zurückgibt, dann ist die Datei nirgendwo offen, bei False wird die Datei bereits von jemandem benutzt...
Meine Nachfrage:
Wie genau sollte das Makro lauten, dass sich automatisch beim Öffnen mit ausführt, wo ist das Makro "Function DateiIstFrei...."
zu platzieren und anzuwenden.
Für nochmalige Hilfe bin ich sehr dankbar.
(P.S. War ab Freitag bis heute unterwegs, deshalb konnte ich erst heute den Vorschlag studieren. Da das Posting nun schon so weit zurückliegt, hielt ich es für besser gleich neu zu posten.)