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

Workbook.Open mit Variable klappt nicht immer

Workbook.Open mit Variable klappt nicht immer
07.11.2007 21:48:00
Mark
Hallo Leute
In einem Modul von mir wird geprüft, ob eine Datei geöffnet ist oder nicht...
Funktioniert zu 90 %. Wenn ich dann den Code mit F8 durchgehe öffnet er mir an folgender Stelle die Datei NICHT:
Workbooks.Open "U:\Transitlager\" & Dateiname
Wobei Dateiname mir Test.xls belegt ist. Mal macht er es, mal nicht! Ist das irgendwie zu verstehen?
Ich bin am verzweifeln...
Vielen Dank für Anregungen
Gruß Mark
Hier mein kompletter Code:

Public Function IsFileOpen(ByRef Path As String) As Boolean
Dim FileNr As Integer
Dim ErrorNr As Long
'Datei testweise öffnen:
On Error Resume Next
FileNr = FreeFile
Open Path For Input Lock Write As #FileNr
ErrorNr = Err.Number
Close #FileNr
On Error GoTo 0
'Ggf. Fehler verarbeiten:
'On Error GoTo Ende
Select Case ErrorNr
Case 0    'kein Fehler:
'NOP
Case 70   'Permission denied':
IsFileOpen = True
Case Else 'sonstiger Fehler:
Err.Raise ErrorNr
End Select
Ende:
End Function


Function DateiPrüfen(Dateiname, DateiEnde)
On Error GoTo Ende
Dim Datei As Workbook
'Prüfen ob Datei geöffnet ist
DateiEnde = 0
Geprüft = 0
For i = 1 To 10
If IsFileOpen("U:\Testdaten\" & Dateiname) = True Then
'Wenn Datei in Bearbeitung ist:
For Each Datei In Workbooks
If Datei.Name = Dateiname Then
Geprüft = 1
Exit Function
Else
End If
Next
If Geprüft = 0 Then
Exit Function
Else
DateiEnde = DateiEnde + 1
End If
Else
'Wenn Datei ungeöffnet ist
Workbooks.Open "U:\Transitlager\" & Dateiname
End If
Next i
Ende:
End Function


8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Workbook.Open mit Variable klappt nicht immer
07.11.2007 22:06:34
Tino
Hallo,
nimm mal alle On Error... raus und teste es noch mal.
jetzt bekommst du wenigsten eine Fehlermeldung und man kann weiter schauen woran es liegt.
Gruss
Tino

AW: Workbook.Open mit Variable klappt nicht immer
07.11.2007 22:22:56
Mark
Hi
Dann zeigt er mir Zugriff verweigert, da ich grad in der Datei bin.
Ich habe allerdings auch grad das Problem das mein Programm bei
Workbooks("Test.xls").Save - NICHT speichert... Die Zeile wird einfach übergangen, genauso wie bei meinem Workbooks.Open Problem!
Meine Haare werden immer grauer!?!?!
Wie kann denn das?

AW: Workbook.Open mit Variable klappt nicht immer
07.11.2007 22:33:47
Tino
Hallo,
verstehe ich dich jetzt richtig, du bist in dieser Datei Text.xls und willst diese noch einmal öffnen?
zweimal öffnen geht nicht
Gruss
Tino

Anzeige
AW: Workbook.Open mit Variable klappt nicht immer
07.11.2007 22:40:00
Mark
nene, sorry missverständis
ich will mit meiner Test-Datei eine andere Datei öffnen. Wenn die Datei geöffnet ist, will ich das gemeldet bekommen. Darum gehts mir. Problem ist einfach nur, wenn alles durchgelaufen ist und festgestellt wurde, dass die Datei nicht geöffnet ist, dass mein VBA dann beim schlichten Workbooks.Open, die Zeile im Code markiert und auch den Vorgang fortsetzt als hätte er die Datei geöffnet. Aber das tut er nicht. Ich gehe zwischen den Dateien über ein Menü hin und her, wo vba automatisch speichert. Nur habe ich das gleiche Problem wie oben, dass vba in unregelmäßigen Abständen, der Code schlichtweg ignoriert wird... Workbooks. Save wird markiert im Code, danach die nächste Zeile aber gespeichert hat er dann nicht.

Anzeige
AW: Workbook.Open mit Variable klappt nicht immer
07.11.2007 23:10:24
Tino
Hallo,
hiermit kannst du prüfen ob eine Datei offen oder geschlossen ist.

Sub test()
If DateiIstFrei("C:\Test.xls") = False Then
MsgBox "Datei ist geöffnet"
Else
MsgBox "Datei ist geschlossen"
End If
End Sub
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


Gruss
Tino

AW: Workbook.Open mit Variable klappt nicht immer
08.11.2007 07:09:13
Mark
Guten Morgen
Meine Makros zum prüfen funktionieren ja fehlerfrei... Wenn dann festgestellt wurde, dass die Datei verfügbar ist und die Datei öffnen soll, macht er es nicht. Versteh ich einfach nicht..
Kann es daran liegen, dass ich auf einem Netzlaufwerk speicher? Bzw auch öffne...?
Gruß Mark

Anzeige
AW: Workbook.Open mit Variable klappt nicht immer
08.11.2007 08:04:45
Mark
Sorry, frage ist natürlich noch offen...

AW: Workbook.Open mit Variable klappt nicht immer
11.11.2007 21:16:00
Renee
Hi Mark,
Kann es daran liegen, dass ich auf einem Netzlaufwerk speicher? Bzw auch öffne...?
Nein, eher nicht.
Vielmehr liegt es daran, dass du File A testest und dann File B öffnen willst!
Schau dir mal deine Verzeichnisse an, die sind komplett verschieden!
GreetZ Renee

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige