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

Dateiinhalt auslesen und übertragen

Dateiinhalt auslesen und übertragen
17.09.2008 14:07:31
Herbert
Hallo Experten,
ich habe ein mittelschweres Problem.
Täglich erhalte ich per Datei eine Excel-Tabelle in der in der Zelle A1 bis A10 Daten stehen.Die Datei wird im Ordner D:\temp gespeichert. Der Dateiname ist das Datum in der Form JJJJMMTT.csv. Ich möchte per VBA jeden Tag die Daten der neueste Datei auslesen. Die Werte sollen in einer seperaten Tabelle in den Zellen F1 bis F10 erscheinen. Hier werden dann täglich Berechnungen durchgeführt. Der Wert kann jeden Tag überschrieben werden, da die Berechnung immer neu erfolgen muss.
Mein Problem ist, dass ich die Dateien per FTP abhole. Schaue ich in der Ordner D:\temp haben alle Dateien das selbe Datum in der Spalte "Geändert am". Wie kann ich trotzdem die Neueste filtern?
Bin für jedliche Vorschläge sehr dankbar.
Gruß Herbert

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateiinhalt auslesen und übertragen
17.09.2008 18:52:00
Tino
Hallo,
wie wäre es hiermit?
Kommentare stehen im Code.
Modul Modul1
Option Explicit 
 
Sub SucheDatei() 
Dim strDatei As String 
Dim Datum As Date 
'Pfad zu der Datei 
Const Pfad As String = "D:\temp\" 
'wieviel Tage darf die Datei in der Vergangenheit sein 
Const intMax As Integer = 365 
'Anfangsdatum = Heute 
Datum = Date 
 
Do While strDatei = "" And (Date - Datum) <= intMax 
    strDatei = Dir(Pfad & "*" & Format(CStr(Datum), "yyyymmdd") & ".csv") 
    Datum = Datum - 1 
Loop 
     
    If strDatei <> "" Then 
     MsgBox "Neueste Datei heißt " & Chr(13) & strDatei 
    End If 
 
 
End Sub 


Gruß Tino

Anzeige
AW: Dateiinhalt auslesen und übertragen
18.09.2008 11:49:31
Herbert
Hallo Tino,
danke für die Hilfe. Leider funktioniert der Code nicht. Ich habe zum Test zwei Dateien (20080917.csv und 20080916.csv) in D:\temp. Es tut sich aber nichts.
Eventuell könntest du dir das nochmal ansehen.
Vielen Dank.
AW: Dateiinhalt auslesen und übertragen
18.09.2008 14:38:00
Tino
Hallo,
habe Deine Umgebung nachgebaut, bei mir funktioniert der Code.
Diese Meldung sollte erscheinen
Userbild
Gruß Tino
AW: Dateiinhalt auslesen und übertragen
18.09.2008 16:34:57
Herbert
Danke für die Mühe. Was mache ich falsch. Habe den Code ohne Änderung in ein Modul gepackt und die leere Datei gespeichert. Dann über Makro - ausführen diesen Code ausgeführt. Leider tut sich gar nichts.
Gruß Herbert
Anzeige
AW: Dateiinhalt auslesen und übertragen
18.09.2008 18:16:00
Tino
Hallo,
könnte mir vorstellen, dass dies von einer Firewall geblockt wird, sicher bin ich mir aber nicht.
Hier mal eine andere Version mit dem FileSystemObject.
Modul Modul1
Option Explicit 
  
Sub SucheDatei() 
Dim strDatei As String, strTempDatei As String 
Dim Datum As Date 
Dim fs As Object 
'Pfad zu der Datei 
Const Pfad As String = "D:\temp\" 
'wieviel Tage darf die Datei in der Vergangenheit sein 
Const intMax As Integer = 365 
'Anfangsdatum = Heute 
Datum = Date 
  
Set fs = CreateObject("Scripting.FileSystemObject") 
 
Do While (Date - Datum) <= intMax 
    If fs.fileExists(strTempDatei) Then 
      strDatei = strTempDatei 
     Exit Do 
    End If 
    Datum = Datum - 1 
    strTempDatei = Pfad & Format(CStr(Datum), "yyyymmdd") & ".csv" 
Loop 
      
    If strDatei <> "" Then 
     MsgBox "Neueste Datei heißt " & Chr(13) & strDatei 
    End If 
  
  
End Sub 
 
 


Gruß Tino

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige