Datei geöffnet?

10/12/2008 - 15:43 von Andreas Hess | Report spam
Hallo,

wie kann ich mit einem Makro abfragen, ob eine Datei bereits geöffnet
ist bzw aktuell benutzt wird?

Hintergrund:
Ich rufe mit Makros von verschiedenen Rechnern ausgehend aus einer Inf-
Datei Informationen ab, die das weitere Vorgehen der Makros bestimmen.
Die verschiedenen Rechner àndern ggf den Inhalt der Inf-Datei.
Das darf natürlich nicht passieren, wenn die Inf-Datei bereits
ausgelesen, geöffnet, bearbeitet... wird oder kurz davor steht,
geàndert zu werden, wenn si ebereits geöffnet ist. Verstàndlich
erklàrt???

Hat jmd schon mal sowas in der Art gebraucht?

Für Excel hab ich folgendes gefunden:

Option Explicit

Public Sub TestePfad()
Dim sPfad As String
sPfad = "C:\Eigene Dateien\Test.xls" ' Pfad àndern für Tests
MsgBox DateiGeoeffnet(sPfad)
End Sub

Private Function DateiGeoeffnet(DerPfad As String) As Boolean
' Bei shared Workbooks, schreibgeschützten Mappen o.à.. kann dies auch
ein falsch zurückgeben.
On Error Resume Next
Open DerPfad For Binary Access Read Lock Read As #1
Close #1
If Err.Number <> 0 Then
DateiGeoeffnet = True
Err.Clear
End If
End Function

Kann das abgeàndert werden, damit ich von Word aus bzw von einem
beliebigen Office-Programm aus eine beliebige Datei abfragen kann?
Wenn ja: Wie?

Vielen Dank für Eure Antworten schon jetzt!

Grüße aus Stuttgart,
Andreas
 

Lesen sie die antworten

#1 Sebastian Brandt
10/12/2008 - 16:06 | Warnen spam
Hallo Andreas

wie kann ich mit einem Makro abfragen, ob eine Datei bereits geöffnet
ist bzw aktuell benutzt wird?

Hintergrund:
Ich rufe mit Makros von verschiedenen Rechnern ausgehend aus einer Inf-
Datei Informationen ab, die das weitere Vorgehen der Makros bestimmen.
Die verschiedenen Rechner àndern ggf den Inhalt der Inf-Datei.
Das darf natürlich nicht passieren, wenn die Inf-Datei bereits
ausgelesen, geöffnet, bearbeitet... wird oder kurz davor steht,
geàndert zu werden, wenn si ebereits geöffnet ist. Verstàndlich
erklàrt???

Hat jmd schon mal sowas in der Art gebraucht?

Für Excel hab ich folgendes gefunden:

Option Explicit

Public Sub TestePfad()
Dim sPfad As String
sPfad = "C:\Eigene Dateien\Test.xls" ' Pfad àndern für Tests
MsgBox DateiGeoeffnet(sPfad)
End Sub

Private Function DateiGeoeffnet(DerPfad As String) As Boolean
' Bei shared Workbooks, schreibgeschützten Mappen o.à.. kann dies auch
ein falsch zurückgeben.
On Error Resume Next
Open DerPfad For Binary Access Read Lock Read As #1
Close #1
If Err.Number <> 0 Then
DateiGeoeffnet = True
Err.Clear
End If
End Function

Kann das abgeàndert werden, damit ich von Word aus bzw von einem
beliebigen Office-Programm aus eine beliebige Datei abfragen kann?
Wenn ja: Wie?

Vielen Dank für Eure Antworten schon jetzt!


Du musst doch nur den Dateinamen àndern, oder funktioniert das bei Dir
nicht?

Grüße Sebastian

Ähnliche fragen