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