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

Prüfen ob eine Datei geöffnet ist

Prüfen ob eine Datei geöffnet ist
05.03.2008 09:28:28
Boris
Hallo,
mit folgendem (hier gekürztem) Code kopiere ich Daten aus anderen xl-Dateien. Nun möchte ich folgendes erreichen: Ist die Quelldatei (in diesem Beispiel die "Asset List") bereits geöffnet, soll diese natürlich nicht nochmal geöffnet werden und nach dem Kopiervorgang soll sie nicht geschlossen, sondern weiterhin geöffnet bleiben. Ist die Quelldatei nicht geöffnet funktioniert untenstehender Code.
Wie frage ich das ab?

Sub Update()
Dim strBereich As String
Dim strProjekt As String
Dim strOrdner As String
Dim strDatei As String
Dim strSheet As String
strProjekt = "Trio"
strOrdner = "\..\1 Asset List\"
strDatei = "Asset List.xls"
strSheet = "Asset List"
Workbooks.Open Filename:=ThisWorkbook.Path & strOrdner & strProjekt & "_" & strDatei
'hier wird kopiert, Code rausgenommen'
Application.DisplayAlerts = False
Workbooks(strProjekt & "_" & strDatei).Close
Application.DisplayAlerts = True
End Sub


Viele Grüße Boris

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob eine Datei geöffnet ist
05.03.2008 09:33:00
Beverly
Hi Boris,
nach folgendem Prinzip

Sub pruefen_mappe_geoeffnet()
Dim boOffen As Boolean
Dim wbArbeitsmappe As Workbook
boOffen = False
For Each wbArbeitsmappe In Workbooks
If wbArbeitsmappe.Name = strDatei Then
boOffen = True
Exit For
End If
Next
If boOffen Then MsgBox "Datei ist geöffnet"
End Sub




AW: Prüfen ob eine Datei geöffnet ist
05.03.2008 21:10:00
Daniel
Hi
das was du wünschst, sollte dieser Code erledigen.
Hier sieht man auch, wie man ON ERROR RESUME NEXT sinnvoll einsetzen kann.

Sub Update()
Dim strBereich As String
Dim strProjekt As String
Dim strOrdner As String
Dim strDatei As String
Dim strSheet As String
strProjekt = "Trio"
strOrdner = "\..\1 Asset List\"
strDatei = "Asset List.xls"
strSheet = "Asset List"
Dim DateiGeöffnet As Boolean
'Prüfen, ob Datei schon geöffnet ist
DateiGeöffnet = False
On Error Resume Next
DateiGeöffnet = (Workbooks(strDatei).Name = strDatei)
On Error GoTo 0
If Not DateiGeöffnet Then Workbooks.Open Filename:=ThisWorkbook.Path & strOrdner &  _
strProjekt & "_" & strDatei
'hier wird kopiert, Code rausgenommen'
Application.DisplayAlerts = False
If Not DateiGeöffnet Then Workbooks(strProjekt & "_" & strDatei).Close
Application.DisplayAlerts = True
End Sub


Gruß, Daniel

Anzeige
AW: Prüfen ob eine Datei geöffnet ist
06.03.2008 11:03:00
Boris
Hallo Daniel,
vielen Dank für die Anregung, nach einigem Probieren hat es geklappt. DateiGeöffnet = (Workbooks(strDatei).Name = strDatei) war nicht ganz korrekt, hier musste ich strDatei duch strProjekt & "_" & strDatei ersetzen, die Variablen sind vielleicht etwas dämlich definiert:)
Habe noch eine andere Anpassung vorgenommen, so geht es auch:
Dim wb As Workbook
On Error Resume Next
Set wb = Workbooks(strProjekt & "_" & strDatei)
On Error GoTo 0
If wb Is Nothing Then Workbooks.Open Filename:=ThisWorkbook.Path & strOrdner & strProjekt & "_" & strDatei
Vielen Dank auch an Karin....
Viele Grüße
Boris
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige