Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
280to284
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
280to284
280to284
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei offen?

Datei offen?
19.07.2003 09:49:19
Franz W
Guten Morgen Forum,
habe immer wieder Probleme mit der Schreibweise in VBA: wie kann ich bitte in VBA abfragen ob die Datei Test.xls schon geöffnet - oder besser - noch nicht geöffnet ist?
Vielen Dank im Voraus und beste Grüße
Franz

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei offen?
19.07.2003 10:09:06
Ramses
Hallo Franz,
"Kaum VBA Kenntnisse" --- untertreibst du da nicht etwas ;-)
Hier eine Variante von Günter zum prüfen ob eine Datei von einem Netzlaufwerk schon von jemand geöffnet wurde:

'Prüfen ob Datei offen ist
'von Günther Abel
Sub Check_File_Open()
MsgBox IsFileOpen("T:\Projekte\ProjektR3\Prozesse\0_Übersicht.doc")
End Sub
Public Function IsFileOpen(ByRef path As StringAs Boolean
Dim FileNr As Integer
Dim ErrorNr As Long
' Datei testweise öffnen:
On Error Resume Next
'FreeFile ist eine Funktion welche die nächste freie Nummer
'zur Bearbeitung zurückgibt
FileNr = FreeFile
Open path For Input Lock Write As #FileNr
ErrorNr = Err.Number
Close #FileNr
On Error GoTo 0
' Ggf. Fehler verarbeiten:
Select Case ErrorNr
Case 0
    'kein Fehler:
Case 70
    'Permission denied':
    IsFileOpen = True
Case Else
    'sonstiger Fehler:
    Err.Raise ErrorNr
End Select
End Function
'Code Sequenz Ende 
     Code eingefügt mit Syntaxhighlighter 1.16


und hier um zu testen ob eine lokale bereits geöffnet ist:

Option Explicit
Sub Check_Local_File_Open()
'ACHTUNG
'Der Vergleich wird mit Gross und Kleinschreibung gemacht
If Is_Open_Local_File("Test.xls") Then
    MsgBox "Schon geöffnet"
Else
    MsgBox ("Noch nicht geöffnet")
End If
End Sub
Function Is_Open_Local_File(chkName As StringAs Boolean
Dim wb As Workbook
Debug.Print "OK"
For Each wb In Application.Workbooks
    Debug.Print wb.Name
    If wb.Name = chkName Then
        Is_Open_Local_File = True
    End If
Next
End Function 
     Code eingefügt mit Syntaxhighlighter 1.16


Gruss Rainer

Anzeige
Nee, nee. Passt glaub ich schon...
19.07.2003 10:18:57
Franz W.
Hallo Rainer,
wenn ich seh, wie dumm ich mich manchmal so anstelle und was ich alles noch nicht weiß (s. meine Nachfrage an Ivan...!!) ist "Kaum" glaub ich schon besser als "Gut" :-))
Vielen Dank für Deine Antwort, werd mich mal drüber machen. Darin ist ja wohl, wenn ich's auf den ersten Blick richtig sehe, meine Frage an Ivan beantwortet... *gg*.
Danke und Grüße
Franz

AW: Datei offen?
19.07.2003 09:59:39
Ivan


hi Franz
versuche das mal
Function WorbookIsOpen(wbName As StringAs Boolean
Dim wb As Workbook
For Each wb In Workbooks
If wbName = wb.Name Then
WorbookIsOpen = True
Exit Function
End If
Next wb
End Function
gruss
ivan

Anzeige
Bitte um Nachhilfe
19.07.2003 10:13:00
Franz W.
Hallo Ivan,
vielen Dank für Deine Antwort, aber da fehlt mir noch Grundwissen: Wie kann ich mit diesem Code nach einer ganz bestimmten Datei abfragen? Und: wie baue ich diese Funktion ein einen Code ein?
Danke und Grüße
Frnaz

AW: Bitte um Nachhilfe
19.07.2003 10:25:46
Ivan
HI FRANZ
ich verwende diesen code selber wenn ich eine arbeitsmappe aus der
userform öffnen möchte.bei diesem code ist ist es egal welche mappe geöffnet ist.
aber wenn deine test.xls geöffnet,ist kommt keine meldung von excel.
zb.diese mappe ist schon geöffnet!
wie du speziell nur die test.xls abfragen kanst(da muß ich passen):
ich dachte es geht dir nur um die überprüfong ob sie schon geöffnet ist.
gruss
ivan

Anzeige
AW: Bitte um Nachhilfe
19.07.2003 10:30:59
Franz W.
Hallo Ivan,
danke für Deine Erklärungen, hilft schon ein bisschen weiter. Hab ja auch noch andere Lösungen bekommen. Kann ich mich mal ein bisschen beschäftigen und dann werd ich ja hoffentlich in der Lage sein, was draus zu machen :-)))
Danke und Grüße
Franz

Datein schon offen? Als Sub...
19.07.2003 10:24:45
Boris
Hi Franz,
als Code vielleicht so:
Option Explicit

Sub bin_ich_da()
Dim Wb As Workbook, sWb As String
sWb = InputBox("Bitte Dateiname eingeben (ohne .xls)", "Dateiname", "Test")
For Each Wb In Application.Workbooks
If Wb.Name = sWb Then
MsgBox "Datei " & sWb & " ist schon offen", , "Meldung"
Exit Sub
End If
Next
MsgBox "Datei " & sWb & " ist noch nicht offen", , "Meldung"
End Sub

Grüße Boris

Anzeige
Klappt leider nicht
19.07.2003 10:45:08
Franz W.
Hallo Boris,
vielen Dank für Deine Hilfe. Ist die kürzeste der angebotenen Lösungen, drum hab ich damit mal angefangen ;-))). Klappt aber leider nicht. Er bringt immer die MsgBox "ist noch nicht offen" - egal ob ich die Datei "Test" geöffnet habe oder nicht. Hast Du eine Ahnung woran das liegt?
Gruß
Franz

Jetzt hab ich's!
19.07.2003 10:47:54
Franz W.
Hallo Boris,
muss doch ".xls" mit eingeben, dann macht er's richtig
Vielen Dank für die Hilfe und Grüße
Franz

Sorry,.. nicht aktualisiert :-) o.T.
19.07.2003 10:11:18
Ramses
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige