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

Prüfen, ob Datei schon offen -wie?

Prüfen, ob Datei schon offen -wie?
09.11.2006 17:10:26
Frank
Einen hab` ich noch:
Hat jemand eine Idee, wie ich mit VBA prüfen kann, ob eine Datei schon geöffnet ist?
So nach dem Motto: Öffne mir die Datei x, wenn sie aber schon geöffnet ist, aktiviere sie nur.
Gruß
Frank

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen, ob Datei schon offen -wie?
09.11.2006 17:48:29
Erich
Hallo Frank,
schau mal hier:
https://www.herber.de/mailing/164202h.htm
(Recherche nach testopen)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Den Verweis verstehe ihc leider nicht
09.11.2006 18:10:19
Frank
Hallo Erich,
danke für den Verweis, damit komme ich aber nicht ganz klar.
Ich habe folgendes in einem Makro:
If Pruefjahr Jahr Then
Workbooks.Open FileName:=PfadL 'Öffnet die passende Importdatei
Else
Windows("Oculus_Import_" & Pruefjahr & ".xls").Activate
End If
Es könnte die Konstellation auftreten, dass bei "Workbooks.Open....." das WB schon offen ist. Daher muss die Prüfung irgendwie da rein.
Ideen?
Gruß
Frank
Anzeige
AW: Den Verweis verstehe ihc leider nicht
09.11.2006 19:26:15
Erich
Hallo Frank,
kannst du hiermit etwas anfangen?
Option Explicit
Sub tst()
Dim strMappe As String
Const pruefjahr = 2005, Jahr = 2006    ' nur zum Testen
Const PfadL = "c:\test\test.xls"       ' nur zum Testen
strMappe = Right(PfadL, Len(PfadL) - InStrRev(PfadL, "\")) ' Dateiname ohne Pfad
If pruefjahr <> Jahr Then
Select Case TestOpen(PfadL)
Case 0: Workbooks.Open Filename:=PfadL    'Öffnet die passende Importdatei
Case 1: Workbooks(strMappe).Activate      'ist schon offen, wird aktiviert
Case 2: MsgBox "Datei " & PfadL & " wurde nicht gefunden"
End Select
Else
Workbooks("Oculus_Import_" & pruefjahr & ".xls").Activate
End If
End Sub
Private Function TestOpen(sPathFile As String) As Integer
If Dir(sPathFile) = "" Then
TestOpen = 2
Else
On Error GoTo ERRORHANDLER
Open sPathFile For Random Access Read Lock Read Write As #1
Close #1
End If
ERRORHANDLER:
If Err = 70 Then TestOpen = 1
End Function
' ----------------------- ab hier nur zum Testen
Sub TestFileOpen()
Dim iOpen As Integer
Dim sFile As String
sFile = InputBox("Path and Filename:", , "c:\test\test.xls")
If sFile = "" Then Exit Sub
iOpen = TestOpen(sFile)
Select Case iOpen
Case 0: MsgBox "Datei " & sFile & " ist frei"
Case 1: MsgBox "Datei " & sFile & " ist geöffnet"
Case 2: MsgBox "Datei " & sFile & " wurde nicht gefunden"
End Select
End Sub
Die Ermittlung des Dateinamens strMappe aus PfadL ist überflüssig, wenn du den Dateinamen (ohne Pfad) schon in einer Variablen
oder einer Zelle stehen hast. Dieser Dateiname wird im "Case 1" gebraucht, um die Mappe zu aktivieren.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Ich glaube das verstehe ich besser
09.11.2006 19:38:04
Frank
Erst mal Danke, Erich!
Damit komme ich, glaube ich, zurecht.
Heute darf ich aber nicht mehr.
Meine Frau "meckert" sonst. (Hat sie Recht. Ich bin schon wieder seid heute Vormittag vor der Kiste)
Gruß
Frank
ERICH - DANKE!!!!
12.11.2006 16:16:43
Frank
Hallo Erich,
hatte jetzt die Zeit das Makro fertig zu stellen.
Dank Deiner Hilfe arbeitet mein Programm jetzt die Routine 10x schneller ab.
Danke noch mal.
Frank
Danke für Rückmeldung - noch schönen Sonntag! (oT)
12.11.2006 17:53:25
Erich

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige