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

Letzte Änderung innerhalb eines Ordners

Letzte Änderung innerhalb eines Ordners
Steffen
Hi zusammen,
hab folgendes Problem:
Ich lese die Daten eines Verzeichnisses über VBA aus. Wie kann ich ermitteln wer innerhalb des jeweiligen Ordners die letzte Änderung vorgenommen hat.
Bin für jeden Tipp dankbar.
Mein Modul:
Public Sub Auslesen()
Const STRFOLDER As String = "R:\Daten"
Dim objShell As Object, objFolder As Object
Dim bytIndex As Byte, intColumn As Integer, lngRow As Long
Dim varName, arrHeaders(37)
If Dir(STRFOLDER, 16) = "" Then
MsgBox "Der Ordner " & STRFOLDER & " wurde nicht gefunden!", 64, "Hinweis"
Exit Sub
End If
Application.ScreenUpdating = False
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(STRFOLDER)
intColumn = 1
For bytIndex = 0 To 37
arrHeaders(bytIndex) = objFolder.GetDetailsOf(varName, bytIndex)
Cells(1, intColumn + bytIndex) = arrHeaders(bytIndex)
Next
Rows(1).Font.Bold = True
lngRow = 2
For Each varName In objFolder.Items
For bytIndex = 0 To 37
Cells(lngRow, intColumn + bytIndex) = objFolder.GetDetailsOf(varName, bytIndex)
Next
lngRow = lngRow + 1
Next
Columns.AutoFit
Set objShell = Nothing
Set objFolder = Nothing
Application.ScreenUpdating = True
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Letzte Änderung innerhalb eines Ordners
17.11.2011 00:29:35
fcs
Hallo Steffen,
der Name des letzten Autors, wie er in Excel unter den Dokumenteigenschaften einer geöffneten Arbeitsmappe angezeigt wird, ist keiner der Werte, die man mit deinem Makro direkt auslesen kann, auch wenn es insgesamt ca. 280 Informationen gibt, die man zu verschiedenen Dateitypen auslesen kann.
Um die zuletzt bearbeitete Datei zu ermitteln kann man das Speicherdatum auswerten. Den Autor der letzten Änderung kann man nur ermitteln. indem man die Exceldatei öffnet und die Dokumenteigenschaft "Last Author" ausliest.
Wahrscheinlich kann man auch irgendwie über das Betriebssystem ermitteln, welcher User eine Datei bearbeitet hat. Da kenne ich mich aber nicht aus.
Gruß
Franz
Public Sub Auslesen()
'    Const STRFOLDER As String = "R:\Daten"
Const STRFOLDER As String = "C:\Users\Public\Test\Data"
Dim ZeileLetzte As Long, ZeitMax As Date, strDatei As String
Dim wb As Workbook, strName As String
Dim objShell As Object, objFolder As Object
Dim bytIndex As Byte, intColumn As Integer, lngRow As Long
Dim varName, arrHeaders(150)
If Dir(STRFOLDER, 16) = "" Then
MsgBox "Der Ordner " & STRFOLDER & " wurde nicht gefunden!", 64, "Hinweis"
Exit Sub
End If
ZeitMax = 0
Application.ScreenUpdating = False
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(STRFOLDER)
intColumn = 1
For bytIndex = 0 To 150
arrHeaders(bytIndex) = objFolder.GetDetailsOf(varName, bytIndex)
Cells(1, intColumn + bytIndex) = arrHeaders(bytIndex)
Next
Rows(1).Font.Bold = True
lngRow = 2
For Each varName In objFolder.Items
For bytIndex = 0 To 37
Cells(lngRow, intColumn + bytIndex) = objFolder.GetDetailsOf(varName, bytIndex)
Next
If ZeitMax 

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige