Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Tabelleneinträge aus Dateinamen generieren
26.05.2007 18:06:33
Gereon
Hallo zusammen!
Ich möchte alle Dateinamen (ohne Anhang wie pdf, etc) eines täglich neu erstellten Verzeichnisses in eine fortlaufende Excel-Tabelle eintragen, diese Tabelle soll täglich erweitert werden. Hat jemand eine Idee, wie man das vernünftig, also nicht alle per Hand eintragen, hinbekommen kann?
Habe schon etwas gefunden:

Sub AlleDateien()
Dim dat As String
Dim z As Integer, pkt As Integer
z = 0
dat = Dir(".")
Do While dat > ""
pkt = InStrRev(dat, ".")
z = z + 1
If pkt > 0 Then
Cells(z, 1) = Left(dat, pkt - 1)
Else
Cells(z, 1) = dat
End If
dat = Dir
Loop
End Sub


das klappt auch schon, aber wie kann ich auf ein fast täglich (also nicht jeder folgende Tag) neu erstelltes Verzeichnis
E:\Daten\Scan\Scan_Nark-Prot\2007_05\2007-05-25
E:\Daten\Scan\Scan_Nark-Prot\2007_05\2007-05-26
E:\Daten\Scan\Scan_Nark-Prot\2007_05\2007-05-27
E:\Daten\Scan\Scan_Nark-Prot\2007_05\2007-05-30 usw. zugreifen
In der generierten Tabelle sollte nach Abschluß des Tages z. B. in Spalte B das Tagesdatum stehen.
Kann da jemand weiterhelfen.
Danke
Gereon

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

Betreff
Datum
Anwender
Anzeige
AW: Tabelleneinträge aus Dateinamen generieren
26.05.2007 18:25:54
Josef
Hallo Gereon,
ungetestet.
Sub AlleDateien()
Dim dat As String, strPath As String
Dim pkt As Integer
Dim lngR As Long
Dim actDate As Date

strPath = "E:\Daten\Scan\Scan_Nark-Prot\" 'Hauptverzeichnis

actDate = Application.InputBox("Geben Sie das gewünschte Datum ein:", "Datum", Format(Date, "yyyy.mm.dd"), Type:=1)

If actDate = 0 Then Exit Sub

strPath = strPath & Format(actDate, "yyyy_mm\\yyyy-mm-dd\\") & "*.*"

With ThisWorkbook.Sheets("Tabelle1") 'Tabellenname anpassen!
    
    lngR = .Cells(Rows.Count, 1).End(xlUp).Row + 1
    
    dat = Dir(strPath)
    
    Do While dat <> ""
        
        pkt = InStrRev(dat, ".")
        
        If pkt > 0 Then
            Cells(lngR, 1) = Left(dat, pkt - 1)
        Else
            Cells(lngR, 1) = dat
        End If
        
        Cells(lngR, 2) = Date
        lngR = lngR + 1
        dat = Dir
        
    Loop
    
End With

End Sub


Gruß Sepp

Anzeige
AW: Tabelleneinträge aus Dateinamen generieren
27.05.2007 12:11:50
Gereon
Hallo Sepp,
ist ja klasse, funktioniert auf Anhieb, nur das Datum in Spalte B sollte auch immer dem Datum des ausgelesenen Unterverzeichnis entsprechen (Datum ist ja in der Pfadangabe des Unterverzeichnisses enthalten). Z. Zt. habe ich immer das Datum vom Tag, an dem die entsprechenden Unterverzeichnisse ausgelesen werden. In diesem Fall also von heute (27.05.2007). Desweiteren hätte ich gerne nach jedem Tag noch eine Leerzeile. Könntest Du mir da noch helfen. Vielen Dank und schöne Pfingsten
Gereon

AW: Tabelleneinträge aus Dateinamen generieren
27.05.2007 15:53:00
Josef
Hallo Gereon,
in Listen sollten sich zwar keine Leerzeilen befinden, aber bitte.
Sub AlleDateien()
Dim dat As String, strPath As String
Dim pkt As Integer
Dim lngR As Long
Dim actDate As Date

strPath = "E:\Daten\Scan\Scan_Nark-Prot\" 'Hauptverzeichnis

actDate = Application.InputBox("Geben Sie das gewünschte Datum ein:", "Datum", Format(Date, "yyyy.mm.dd"), Type:=1)

If actDate = 0 Then Exit Sub

strPath = strPath & Format(actDate, "yyyy_mm\\yyyy-mm-dd\\") & "*.*"

With ThisWorkbook.Sheets("Tabelle1") 'Tabellenname anpassen!
    
    lngR = Application.Max(2, .Cells(Rows.Count, 1).End(xlUp).Row)
    
    If lngR > 2 Then lngR = lngR + 2
    
    dat = Dir(strPath)
    
    Do While dat <> ""
        
        pkt = InStrRev(dat, ".")
        
        If pkt > 0 Then
            Cells(lngR, 1) = Left(dat, pkt - 1)
        Else
            Cells(lngR, 1) = dat
        End If
        
        Cells(lngR, 2) = actDate
        lngR = lngR + 1
        dat = Dir
        
    Loop
    
End With

End Sub

Gruß Sepp

Anzeige
AW: Tabelleneinträge aus Dateinamen generieren
27.05.2007 17:49:21
Gereon
Hallo Sepp,
bist ja ganz schön fleißig. Also das klappt gut.
Hier kurz der Hintergrund meiner Tabelle. Ich arbeite als Narkosearzt freiberuflich und muß den Verbrauch der Schmerzmittel dokumentieren. Am Abend eines Arbeitstages werden die Narkoseprotokolle als PDF-Datei eingescant und der Patient Hans Müller geb. am 12.12.1912 bekommt den Dateinamen mh12.pdf, Elfriede Schmitz geb. 20.01.1970 bekommt se70.pdf, etc jeweils im Unterverzeichnis des entsprechenden Tages.
Die Tabelle soll nun die Kürzel und den Tag aufnehmen, das klappt gut. Von mir wird dann die Menge des verbrauchten Schmerzmittels in die entsprechende Spalte geschrieben. In die Leerzeile kommt dann die Tagessumme. Dann soll später der Bestand (die Medikamente, die ich von der Apotheke bezogen habe) mit dem aktuellen Verbrauch verglichen werden. So habe ich immer den entsprechenden Bestand meiner Medikamente. Hast Du vielleicht noch ne bessere Idee, würde Dir auch gern mal so eine Tabelle direkt zumailen. Bräuchte aber dann eine entsprechende Mailadresse.
Nochmals Dank für alle Mühe
Gereon

Anzeige
AW: Tabelleneinträge aus Dateinamen generieren
27.05.2007 18:37:10
Gert
Hallo Gereon,
auch im Krankenhaus oder ähnlichen Institutionen werden einmalige Nummernfolgen wie
"Auftragsnummer"; "OP_Nummer" vergeben.
Mit diesen kann ein bestimmter Vorgang protokolliert werden.
mfg
Gert

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige