Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Prüfen ob eine Datei geöffnet ist

Forumthread: 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

Anzeige

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




Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige