Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1408to1412
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

Bestimmte File mit VBA öffnen

Bestimmte File mit VBA öffnen
17.02.2015 16:54:58
Toumas
Hallo zusammen,
ich habe folgendes Problem:
Bisher müssen wir bestimmte Excelfiles per Hand in einem Intranetlaufwerk öffnen.
Diese haben das Format : Name.Datum.Uhrzeit.xls
Wobei das Datum mit 150217 (JahrMonatTag) angegeben ist
und die Uhrzeit mit z.b. 1300 für 13 Uhr
Nun dachte ich mir, dass ich per Makro die Dateien öffnen kann und dabei die Angabe wie Datum und Uhrzeit ignorieren möchte. D.h. er soll mir vom aktuellen Tag immer die Datei nehmen die gerade vorhanden ist (das ist in der Regel nur eine Datei)
Nun war ich schon so schlau und habe folgendens Makro aufgezeichnet und angepasst :
Workbooks.Open Filename:= _
"http://xxxxxxxx.de/yyy/zzz/unterordner/ABX/Eingang." & Format(Date, "yymmdd") & ".1300.xls"
Das mit dem Datum wurde von mir abgeändert,so, dass VBA bzw. Excel immer das tagesaktuelle Datum nimmt.
Da sich leider die Uhrzeit, wann die Datei eingestellt wird, ändern kann, stellt sich für mich die Frage, wie ich dies noch entsprechend ändern kann.
Mittels
Workbooks.Open Filename:= _
"http://xxxxxxxx.de/yyy/zzz/unterordner/ABX/Eingang." & Format(Date, "yymmdd") & ". & "*" &".xls"
also den Stern als Platzhalter, hat es nicht funktioniert. Aber das war nur ein Test dank mangelnder VBA Kenntnisse.
Ich danke schon mal im Voraus für jegliche Hilfe
Viele Grüße
Toumas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte File mit VBA öffnen
17.02.2015 18:02:01
Oberschlumpf
Hi Toumas
versuch mal (ungetestet):

Dim lstrFile as String
lstrFile = Dir("http://xxxxxxxx.de/yyy/zzz/unterordner/ABX/Eingang." & Format(Date, "yymmdd") &  _
"*.xls")
If lstrFile  "" Then
Workbooks.Open Filename:= "http://xxxxxxxx.de/yyy/zzz/unterordner/ABX/" & lstrFile
End If

Hilfts?
Wenn nicht, kannst du anstelle von "http://..." usw den Pfadnamen auch mit einem Netzlaufwerksbuchstaben beginnen?
Ciao
Thorsten

AW: Bestimmte File mit VBA öffnen
17.02.2015 18:20:32
Yal
Hi Toumas,
es ist die Frage, ob der http-Vereichnis sich wie einen SMB-Verzeichnis scannen lässt.
Wenn ja, folgendes sollte soweit funktionieren (dito: ungetestet, aber Risiko frei):
Sub DateiNachMuster_oeffnen()
'Unter "Extras >> Verweis..." Micorsoft Scripting Runtime, um FileSystemObject, File, Folder, .. _
zu haben
Dim FSO As New FileSystemObject
Dim V As Folder
Dim F As File
Const cPfad = "http://xxxxxxxx.de/yyy/zzz/unterordner/ABX/"
Set V = FSO.GetFolder(cPfad)
For Each F In V.Files
If Split(F.Name, ".")(1) = Format(Now, "YYMMDD") Then
Debug.Print F.Name, F.Path
End If
Next
End Sub
wenn nicht, musst Du jede Kombination prüfen:
Sub DateiNachMuster_oeffnen2()
'Unter "Extras >> Verweis..." Micorsoft Scripting Runtime, um FileSystemObject, File, Folder, .. _
zu haben
Dim FSO As New FileSystemObject
Dim V As Folder
Dim F As File
Dim DateiFullPath As String
Dim h As Integer
Dim m As Integer
Const cPfad = "http://xxxxxxxx.de/yyy/zzz/unterordner/ABX/"
For h = 13 To 14
For m = 0 To 59
DateiFullPath = V & Join(Array("Eingang", Format(Now, "YYMMDD"), Format(h, "00"),  _
Format(m, "00"), "xls"), ".")
If FSO.FileExists(DateiFullPath) Then
Set F = FSO.GetFile(DateiFullPath)
Debug.Print F.Name, F.DateCreated, F.Type
End If
Next m
Next h
End Sub
Viel Erfolg
Yal

Anzeige
AW: Bestimmte File mit VBA öffnen
18.02.2015 07:18:35
Toumas
Hallo zusammen,
erst mal danke für die Lösungsansätze, ich werde sie gleich mal testen und dann berichten.
Viele Grüße
Toumas

AW: Bestimmte File mit VBA öffnen
18.02.2015 13:11:11
Toumas
Hallo Yal,
bei deiner Version erhalte ich die Meldung : Fehler beim Kompilieren
Benutzerdefinierter Typ nicht definiert
Betrifft die Zeile :
Dim FSO As New FileSystemObject
Viele Grüße
Toumas

AW: Bestimmte File mit VBA öffnen
18.02.2015 22:36:51
Yal
Hallo Toumas,
hast Du den Verweis richtig gesetzt?
Wenn ja, dann versuch diese Variante:
Sub DateiNachMuster_oeffnen()
'Unter "Extras >> Verweis..." Micorsoft Scripting Runtime, um FileSystemObject, File, Folder, .. _
_
zu haben
Dim FSO As FileSystemObject
Dim V As Folder
Dim F As File
Const cPfad = "http://xxxxxxxx.de/yyy/zzz/unterordner/ABX/"
Set FSO = New FileSystemObject
Set V = FSO.GetFolder(cPfad)
For Each F In V.Files
If Split(F.Name, ".")(1) = Format(Now, "YYMMDD") Then
Debug.Print F.Name, F.Path
End If
Next
End Sub
Viel Erfolg
Yal

Anzeige
AW: Bestimmte File mit VBA öffnen
18.02.2015 13:07:19
Toumas
Hallo Oberschlumpf,
es kommt leider der Laufzeitfehler 52, Dateiname oder -Nummer falsch....
Die Http: usw. kann ich leider nicht ändern....
Viele Grüße
Toumas

AW: Bestimmte File mit VBA öffnen
18.02.2015 08:22:12
Toumas
Hallo nochmals,
leider konnte ich es noch nicht testen, es hat sich "nur" eine neue Frage ergeben.
Da manche Kollegen mit der Bearbeitung der Files etwas aus der Rolle fallen, soll bei denen die Dateien vom Vortag geöffnet werden.
mit : Format(Date, "dd.mm.yyyy" habe ich ja den aktuellen Tag, aber wie kann ich den Tag davor nehmen ?
vielen Dank nochmals für eure Hilfe
Grüße
Toumas
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige