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

Datei-Eigenschaften auslesen

Datei-Eigenschaften auslesen
03.08.2016 09:47:47
Hettich
Hallo VBA-Profis,
habe leider noch keine VBA-Erfahrung und möchte nun die ersten VBA-Schritte machen.
Ich möchte aus den (geschlossenen) Dateien
"Z:\Finance\ZZ-Filetransfers\Matstamm.xlsx" und
"Z:\Finance\ZZ-Filetransfers\Debstamm.xlsx"
die Eigenschaften (Dateiname,Pfad,letzte Speicherung) auslesen und in die aktuelle Excel Datei in das Tabellenblatt "Upload-Info" in die Spalte A ab Zelle 1 eintragen.
Danke schon mal
Grüße Volker

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei-Eigenschaften auslesen
03.08.2016 10:08:38
Michael
Hallo Volker!
habe leider noch keine VBA-Erfahrung und möchte nun die ersten VBA-Schritte machen.
Und dann gleich Datei-Manipulationen im Dateisystem? Na gut, aber...
Ich möchte aus den (geschlossenen) Dateien ... die Eigenschaften (Dateiname,Pfad,letzte Speicherung) auslesen
Dateiname und -pfad sind Dir ja offenbar bekannt - wozu also auslesen? Da ist es vermutlich besser, alle Dateien in Deiner Tabelle aufzulisten (zB ab A2:Ax) und diesen Bereich dann in einer Schleife abzuarbeiten um für alle dort gelisteten Dateien (inkl. vollständigem Pfad!) die letzte Änderung auszulesten und aufzulisten.
Oder Du gibst im Code nur das Ausgangsverzeichnis an (bspw. Z:\Finance\ZZ-Filetransfers\) und in der Tabelle nur die Dateinamen, oder Du lässt das Ausgangsverzeichnis per Datei-Dialog auswählen oder, oder, oder...
Wie sehen Deine Verhältnisse/Bedürfnisse denn konkret aus... Da geht's doch sicher nicht um nur zwei Tabellen, oder?!
LG
Michael
Anzeige
AW: Datei-Eigenschaften auslesen
03.08.2016 10:20:11
Daniel
Hi
wie Michael schon schrieb, Dateiname und Pfad sind dir ja schon bekannt.
wenn du den vollständigen Dateinamen in Pfad und Dateinamen zerlegen willst, dann so:
VollständigerDateiname = "Z:\Finance\ZZ-Filetransfers\Matstamm.xlsx"
Pfad = Left(VollständigerDateiname, InstrRev(VollständigerDateiname, "\") - 1)
Dateiname = Mid(VollständigerDateiname, InstrRev(VollständigerDateiname, "\") + 1)
Wenn die Datei geschlossen ist, kannst du FileDateTime(VollständigerDateiname) den Zeitpunkt des letzten Speicherns ermitteln.
Sollte die Datei gedoch geöffnet sein (egal von wem) bekommst du den Zeitpunkt des Öffnens.
Gruß Daniel
Anzeige
AW: Datei-Eigenschaften auslesen
03.08.2016 13:37:26
Hettich
Hallo Michael,
um meine Aufgabenstellung zu konkretisieren - und auch gleich noch eine Änderung, damit das Coding für alle Excel Tabellen mit Uploads passt :-).
In dem Tabellenblatt "Upload-Info" steht in der
Spalte "A" Dateipfad
Spalte "B" Dateiname
Die Anzahl der Zeilen sollte variabel sein.
Abfrage der "letzten Änderung" für alle Zeilen der Spalten A/B soweit die Zellen "Blank".
Die Schleife ausführen und den Wert "letzte Änderung" in Spalte C (neben der ausgelesenen Datei)schreiben.
Grüße Volker
AW: Datei-Eigenschaften auslesen
03.08.2016 14:20:46
Michael
Hallo Volker!
Na dann ;-)...
Sub ShowLastMod()
Const STR_BLATT As String = "Upload-Info"
Dim Wb As Workbook
Dim Ws As Worksheet
Dim r As Range
Dim f As Range
Dim sPfad As String
Dim sDname As String
Dim oFSO As Object
Dim oFile As Object
Set Wb = ThisWorkbook
Set Ws = Wb.Worksheets(STR_BLATT)
Set oFSO = CreateObject("Scripting.FileSystemObject")
With Ws
Set r = .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
For Each f In r
If Not f.Value = vbNullString Then
sPfad = f.Text
If Right(sPfad, 1)  "\" Then sPfad = sPfad & "\"
sDname = f.Offset(, 1).Text
Set oFile = oFSO.getfile(sPfad & sDname)
f.Offset(, 2).Value = oFile.DateLastModified
End If
Next f
End With
End Sub
Auf dem Blatt Upload-Info, in A1:C3 stehen Überschriften, d.h. Pfad- und Dateieinträge ab A2.
Klappt?
LG
Michael
Anzeige
AW: Datei-Eigenschaften auslesen
03.08.2016 14:42:26
Hettich
Hallo Michael,
läuft noch in der Zeile
Set oFile = oFSO.getfile(sPfad & sDname)
auf Fehler -Datei nicht gefunden - .
Grüße Volker
AW: Datei-Eigenschaften auslesen
03.08.2016 14:47:28
Michael
Hi!
Was wird an der Stelle übergeben? Welchen Wert haben sPfad und sDname zum Zeitpunkt des Fehlers?
LG
Michael
AW: Datei-Eigenschaften auslesen
03.08.2016 15:11:24
Hettich
Hi Michael,
kaum schreibt man die Datei richtig, schon klappt es. Super, vielen Dank.
Da würde es Sinn machen, im Falles eines falschen Tabelleneintrags einen Hinweis "Datei nicht gefunden" in die Spalte C zu schreiben.
AW: Datei-Eigenschaften auslesen
03.08.2016 15:33:43
Michael
Hallo!
Gelle ;-)... Hier mit Hinweis:
Sub ShowLastMod()
'Auf dem Blatt Upload-Info, in A1:C3 stehen Überschriften,
'd.h. Pfad- und Dateieinträge ab A2.
Const STR_BLATT As String = "Upload-Info"
Dim Wb As Workbook
Dim Ws As Worksheet
Dim r As Range
Dim f As Range
Dim sPfad As String
Dim sDname As String
Dim oFSO As Object
Dim oFile As Object
Set Wb = ThisWorkbook
Set Ws = Wb.Worksheets(STR_BLATT)
Set oFSO = CreateObject("Scripting.FileSystemObject")
With Ws
Set r = .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
For Each f In r
If Not f.Value = vbNullString Then
sPfad = f.Text
If Right(sPfad, 1)  "\" Then sPfad = sPfad & "\"
sDname = f.Offset(, 1).Text
If oFSO.FileExists(sPfad & sDname) = True Then
Set oFile = oFSO.getfile(sPfad & sDname)
f.Offset(, 2).Value = oFile.DateLastModified
Else: f.Offset(, 2).Value = "Datei nicht gefunden!"
End If
End If
Next f
End With
End Sub
Passt?
LG
Michael
Anzeige
AW: Datei-Eigenschaften auslesen
03.08.2016 15:37:41
Hettich
Perfekt, vielen Dank !
Grüße Volker
Das hör ich gerne ;-) - Gern, owT
03.08.2016 17:39:49
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge