Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1836to1840
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
Inhaltsverzeichnis

Prüfen ob Datei geöffnet und schließen

Prüfen ob Datei geöffnet und schließen
14.07.2021 18:12:00
Martin
Hallo liebes Forum =)
gibt es eine Funktion, wie ich prüfen kann, ob ich eine Datei Filename ="test.xlsb" offen habe und diese dann ggf. ohne zu speichern schließen kann?
Ich versuche mir gerade dadurch zu helfen, dass ich die Strings Filename, Tabname und ControlFile (datei mit Makro) fülle,
und dann die Datei versuche zu aktivieren; Nachteil, wenn die Datei nicht bereits offen ist, gibt es einen Fehler.
Selbst wenn die Datei offen ist schreibt es irgendwie in die Datei mit dem Makro im Vordergrund, statt in der Datei filename in den tab tabname (andere Datei).
Bin ratlos... vielleicht erstmal Zeit Pasta zu machen *lach*
Vielen vielen lieben Dank für eure Tipps, was schief gegangen ist und wie ich das Ursprungsproblem lösen kann.
lg Martin
QuelleNameLaden
Windows(Filename).Activate
Worksheets(Tabname).Activate
MsgBox Tabname & " " & Filename
Worksheets(Tabname).Cells(1, 1).Value = Now

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

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob Datei geöffnet und schließen
14.07.2021 18:30:31
Martin
Mit Google konnte ich eine Lösung zusammenkopieren.
Bleibt die Frage, wieso ich nicht in der Lage war in die Datei zu schreiben und sie sichtbar in den Vordergrund zu ziehen?!
Dankeschön =) =) =)
QuelleNameLaden
Dim Offen As Boolean
Dim WoDatei As Workbook
For Each WoDatei In Workbooks
If WoDatei.Name = Filename Then
MsgBox "Datei ist schon geöffnet!"
Offen = True
Windows(Filename).Activate
ActiveWorkbook.Close SaveChanges:=False
Exit For
End If
Next
If Offen = False Then
MsgBox Filename & " ist geöffnet!"
End If
AW: Prüfen ob Datei geöffnet und schließen
14.07.2021 18:46:29
Martin
p.s. ist Filename minimiert, kann schreibt es nicht rein (Code siehe unten). Ist nur eine andere Datei im Vordergrund geht es....
Wieso es trotzdem auch mal in die Datei mit dem Makro (ControlFile) geschrieben hat, bin ich ratlos.
Wie sollte ich stattdessen die Datei aktivieren und mit ihr interagieren?
Dankeschön und einen schönen Abend euch allen noch.
Windows(Filename).Activate
Worksheets(Tabname).Cells(2, 5).Value = "nun aber Essen"
Habe ich diese Zeile noch dabei, schließt es trotz des Minimierens, obwohl es nicht den Text reinschreibt, also nicht aktiv ist?!....
Hoffe ich nutze nur einen falschen Befehl....
ActiveWorkbook.Close SaveChanges:=False
Anzeige
AW: Prüfen ob Datei geöffnet und schließen
14.07.2021 19:08:20
Yal
Hallo Martin,
lege die Prüfung in einer separate Function, um deren Ergebnis abrufen zu können:

Private Function IstWorkbook_offen(Dateiname As String) As sboolean
Dim W As Workbook
For Each W In Workbooks
If StrComp(W.Name, Dateiname, vbTextCompare) Then
IstWorkbook_offen = True
Exit Function 'weiter Prüfung unnötig
End If
Next
End Function
Dann kannst Du die Prüfungsfunktion aufrufen:

Sub Daten_reinschreiben()
Const cDatei = "testdatei.xlsx"
If IstWorkbook_offen(cDatei) Then
Workbooks(cDatei).Worksheets(Tabname).Cells(2, 5).Value = "nun aber Essen"
End If
End Sub
Da "IstWorkbook_offen" True oder False liefert, musst Du nicht IstWorkbook_offen(cDatei) = True auswerten.
Workbooks werden nicht mit Windows() angesprochen, sondern als Workbooks(NameDesWB). Es gibt einen Workbook-Objekt zurück, worauf man die Aktion machen oder machenlassen kann.
Deutsche Bezeichnung für Sub/Function oder Variablen helfen schneller zwischen VBA-native Ausdrücke und eigene zu unterscheiden (ok: es ist nur meine Meinung ;-)
VG
Yal
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige