Excel vba: Dateiliste auswerten
#1
Smile 
Hallo zusammen,
das Wochenende naht und wieder gibt es einige Excel-Problemchen zu lösen  Exclamation

Ich habe eine Tabelle in der ich Arbeitsmappen die ich für den tägliche Nutzung aufgelistet habe.
Bei Doppelklick auf die Zelle öffnet sich die jeweilige Arbeitsmappe - so weit so gut.
Hier gibt es ein super Beispiel - Datei-Schnellstarter - von Link wegen Werbung entfernt

Was ich jetzt benötige ist die Möglichkeit dass per vba beim öffnen der Mappe von allen Einträgen das Erstelldatum, das letzte Speicherdatum und die Dateigröße in die benachbarten Zellen eingetragen werden.
Ist so etwas per vba machbar und reicht dazu nur der Dateiname in einer Zelle oder benötigt man den kompletten Pfad mit Dateiname.

Vielleicht könnt Ihr mir da mal wieder weiterhelfen?
Top
#2
Hallo Erich, :19:

hier mal das Prinzip (eine Möglichkeit): :21:

Alle Dateien eines Ordners - Optional mit Unterordner...

Du musst das natürlich auf Deine Gegebenheiten anpassen. Exclamation
[-] Folgende(r) 2 Nutzer sagen Danke an Gast für diesen Beitrag:
  • sharky51, Rabe
Top
#3
Hallo Ralf,

in einem beliebigen Ordner funktioniert es, im Ordner C:\Temp\ macht es bei mir nix, obwohl da Dateien drin liegen.
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • sharky51
Top
#4
Hallo Ralf, :19:

schon mit F8 im Einzelschritt durch den Code gegangen? :21:

Da müsstest Du eigentlich sehen, wo das Problem ist. Angel
Top
#5
Hallo ihr Beiden,

erstmal vielen Dank für Eure Rückmeldung. Und sorry für das einfügen von diesem Link!
Vielleicht habe ich mein Problem nicht genau genug beschrieben.

Ich möchte nicht die Daten von einem Ordner/Unterordner komplett auslesen, sondern nur die Daten von bereits aufgelisteten Dateien in einem Arbeitsblatt.
Die aufgelisteten Dateien können auch in unterschiedlichen Ordnern gespeichert sein.
Gibt es da eine Möglichkeit?
Top
#6
Hi Ralf,

ok, gefunden. Peinlich!

Gruß Ralf
Top
#7
Hallo Erich, :19:

doch, Du hast das ausführlich genug beschrieben. Du sollst das ja auch auf deine Bedürfnisse anpassen. Du musst in der "FollowHyperlink Methode" die entsprechenden Befehle einbauen. Bekommst Du das nicht hin?
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • sharky51
Top
#8
Hallo Case (Ralf),

leider sind meine Kenntnisse in vba-Programmierung nicht sonderlich berauschend.
D.H. ich weiß nicht wo ich da anfangen soll.
Top
#9
Hallo Erich, :19:

habe das mal so konzipiert, dass es per "Rechtsklick" funktioniert. Kann man aber auch in deinen Code für den Doppelklick legen. :21:

Code gehört in den Codebereich des Tabellenblattes welches die Dateinamen enthält:


Code:
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Call Main(Target.Text, Target.Address): Cancel = True
End Sub

Und folgender Code in ein Modul:


Code:
Option Explicit
Sub Main(strLink As String, strAddress As String)
    Dim objFile As Object
    Dim objFSO As Object
    Dim lngCalc As Long
    On Error GoTo Fin
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
        lngCalc = .Calculation
        .Calculation = xlCalculationManual
        .DisplayAlerts = False
    End With
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.getfile(strLink)
    Range(strAddress).Offset(, 1).Value = objFile.DateLastModified
    Range(strAddress).Offset(, 2).Value = objFile.DateCreated
    Range(strAddress).Offset(, 3).Value = objFile.DateLastAccessed
    Range(strAddress).Offset(, 4).Value = objFile.Size
Fin:
    Set objFile = Nothing
    Set objFSO = Nothing
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = lngCalc
        .DisplayAlerts = True
    End With
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & " " & Err.Description
End Sub

Das funktioniert nur, wenn in der Zelle Pfad- und Dateiname steht - sonst musst Du halt anpassen.
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • sharky51
Top
#10
Hallo Ralf,

das ist ja cool und funktioniert super. Vielen Dank!

Ist es noch möglich dass außer mit dem Rechtsklick zusätzlich gleich nach öffnen der Datei die Pfadangaben in der Spalte "A" bis zur letzten Zeile durchlaufen und alle Angaben aktualisiert werden?
Also automatisch alle gewünschten Daten aktualisiert werden.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste