Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
532to536
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
532to536
532to536
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei nach Überprüfung öffnen

Datei nach Überprüfung öffnen
18.12.2004 18:08:54
Till
Hallo zusammen!
Ich habe eine Datei, in der über eine Schaltfläche eine andere Datei geöffnet werden soll. Bevor diese Datei jedoch geöffnet wird, soll erst überrpüft werden, ob sie nicht schon geöffnet ist (nicht nur lokal, sondern im Netzwerk).
Habe mir schon den folgenden Code zusammengesucht. Das Problem dabei ist jedoch, das die Datei schreibgeschützt geöffnet wird, wenn sie woanders schon offen ist. Dann erscheint auch die Fehlermeldung, was ja richtig ist.
Ich könnte die Datei zwar direkt im Anschluss daran wieder schließen, nur ist die Datei ein paar MB groß und dementsprechend dauert es bis die geladen ist.
Code:

Private Sub CommandButton1_Click()
Dim sFile As String
sFile = CommandButton1.Caption
Öffnen (sFile)
End Sub

Sub Öffnen(sFile)
Dim aFile As String
Dim sPath As String
aFile = sFile & ".xls"
sPath = "C:\"
Workbooks.Open sPath & aFile
On Error Resume Next
ActiveWorkbook.AcceptAllChanges
If Err = 1004 Then
MsgBox ("Datei ist schon auf einem anderen PC geöffnet. Nach 5 minütiger Inaktivität wird diese auf dem anderen PC geschlossen und ist hier verfügbar. Bitte dann erneut versuchen!")
End If
End Sub
Wäre schön, wenn ihr mir da weiterhelfen könntet.
Grüße,
Till

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei nach Überprüfung öffnen
18.12.2004 18:25:04
Frank
Hallo Till,
versuch mal folgendes, du wirst es sicher ein bisschen anpassen müssen_

Sub Test()
Dim Wb As String
Dim Wbk As String
Wb = ActiveWorkbook.Name
Wbk = "Die Datei die geöffnet werden soll.xls"
Application.ScreenUpdating = False
On Error GoTo ErrHan
Workbooks(Wbk).Activate
Workbooks(Wb).Activate
Application.ScreenUpdating = True
MsgBox "Datei ist geöffnet!"
Exit Sub
ErrHan:
If Err = 9 Then
MsgBox "Datei ist NICHT geöffnet!"
Exit Sub
End If
MsgBox "Es ist ein Fehler aufgetreten!", vbCritical, "Hinweis"
End Sub

Gruß
Frank
Anzeige
AW: Datei nach Überprüfung öffnen
18.12.2004 18:43:32
Till
Hallo Frank!
Danke erstmal für deine Antwort.
Das ganze funktioniert auch lokal einwandfrei.
Jedoch nicht, wenn die Datei schon auf einem anderen PC geöffnet ist ... Da kommt immer die Meldung, das die Datei nicht geöffnet ist.
Vielleicht hast du noch eine andere Idee.
Grüße,
Till
AW: Datei nach Überprüfung öffnen
18.12.2004 18:58:06
Frank
Hallo Till,
du gibst die Datei aber nicht mit Pfadangabe an, oder?
Gruß
Frank
AW: Datei nach Überprüfung öffnen
18.12.2004 20:24:26
Till
Hallo Frank!
In deinem Beispiel habe ich die Datei ohne Pfadangabe eingegeben. Das Funktioniert auch so lange, wie die Datei in der gleichen Instanz von Excel geöffnet wird. Andere Instanz oder gar anderer PC haben keinerlei Auswirkung.
Eigentlich müsste ich also die Datei mit Pfadangabe angeben, da diese auf einem Server liegt. Dann funktioniert aber dein Beispiel nicht.
Gruß,
Till
Anzeige
AW: Datei nach Überprüfung öffnen
18.12.2004 20:41:30
Till
Hallo Frank!
ich habe es jetzt mit dem Tipp von Ransi (über den Userstatus) lösen können.
Trotzdem noch´mal dankeschön für deine Idee!
Grüße,
Till
userstatus
ransi
hallo till
schau dir in der hilfe mal "userstatus" an.
vieleicht hilfts dir weiter...
ransi
das ist es!!!
18.12.2004 20:39:55
Till
Hallo Ransi!
Habe folgendes dazu gefunden:
Option Explicit

Function DateiIstFrei(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


Sub DateiZustand()
Dim Pfad As String
Pfad = "C:\Excel\Blaetter\Datenabzug.xls"
If DateiIstFrei(Pfad) = False Then
MsgBox "Datei ist bereits geöffnet !"
Else
MsgBox "Datei ist z.Zt. nicht geöffnet !"
End If
End Sub

Nach kurzem austesten habe ich das für gut befunden. Damit müsste sich mein Problem lösen lassen.
Danke für deinen Tipp!
Grüße,
Till
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige