Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1152to1156
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

Auslesen Ersteller Besitzer einer Datei

Auslesen Ersteller Besitzer einer Datei
alexander
Hallo,
ich habe folgendes Problem. Ich möchte den Besitzer / Ersteller einer Textdatei auslesen.
Ich finde aber leider nichts passendes.
die letzte Änderung kann man ja z.B. mit auslesen
cells(1,1) = datei.DateLastModified
Soetwas muss es ja auch über für den in Windows angzeigten Besitzer / Ersteller der Datei geben.
Vielen Dank für eure Hilfe

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

Betreff
Benutzer
Anzeige
AW: Auslesen Ersteller Besitzer einer Datei
27.04.2010 09:54:02
Beverly
Hi Alexander,
meinst du das:
    MsgBox ActiveWorkbook.BuiltinDocumentProperties("Author").Value



AW: Auslesen Ersteller Besitzer einer Datei
27.04.2010 09:58:33
alexander
Hallo Beverly,
das habe ich schon probiert. Leider lese ich Textdateien aus einem Ordner, von daher wird das so leider nichts.
Mein bisheriger Code sieht so aus. In der fett markierten Zeile lese ich gerade den Anmeldenamen aus, und da soll halt der Ersteller der ausgelesen INP Datei rein.
'*****************
' alle Dateien des Ordners anzeigen in Indexdatei
Dim fs As Object
Dim sPath As Object
Dim datei As Object
Dim datdatei As Date
Dim datschreib As Date
Pfad = Cells(3, "B")
Set objShell = CreateObject("Shell.Application")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set fs = CreateObject("Scripting.FileSystemObject")
Set sPath = fs.GetFolder("\\DEKLI1S5020\5020-App$\Coscom\CNC\WINTOOL\" & Pfad & "\")
'abbruchbedingung
If sPath = "" Then GoTo ende
For Each datei In sPath.Files
If LCase(datei) Like "*.inp" And DateValue(datei.DateLastModified) = DateValue(Var1) Then
'Dateiname auslesen
daten = Right$(datei, Len(datei) - InStrRev(datei, "\"))
prognam = "'" & Right(Left$(daten, InStrRev(daten, ".") - 1), 6)
larX = 1 + Cells(Rows.Count, 1).End(xlUp).Row
Cells(larX, 1) = prognam
Cells(larX, 1).Interior.Color = 15773696
Cells(larX, 2) = Date
Cells(larX, 3) = "X"
Cells(larX, 6) = Environ("USERNAME")
End If
Next
Anzeige
AW: Auslesen Ersteller Besitzer einer Datei
27.04.2010 10:12:30
xr8k2
Hallo Alex,
mit Excel-Bordmitteln wirst du das für txt-Files nicht gebacken kriegen ...
Hier sind zwei Links ... die VB-Tipps mit unterschiedlichen Verfahrensweisen lassen sich auch ohne weiteres in VBA umsetzen:
ActiveVB - per API
ActiveVB - per WMI
Gruß,
xr8k2
AW: Auslesen Ersteller Besitzer einer Datei
27.04.2010 10:15:39
Anton
Hallo Alexander,
mit diesem Code werden einige Eigenschaften von Dateien angezeigt,
ob dabei auch Besitzer / Ersteller sind, musst du testen:
Code:

Dim i As Long  
Sub dateien_auflisten()
  Dim objShell, objFolder
  Dim BrowseDir, varName
  Set objShell = CreateObject("Shell.Application")  
  Set BrowseDir = objShell.BrowseForFolder(0, "Ordner auswählen", &H1000, 17)  
  If Not BrowseDir Is Nothing Then    
    Application.ScreenUpdating = False
    Cells.Clear
    i = 0
    Set objFolder = objShell.Namespace(BrowseDir.items().Item().Path)
    i = i + 1
    Cells(i, 1) = "Pfad"
    For k = 1 To 50  
      Cells(i, k + 1) = objFolder.GetDetailsOf(, k)
    Next
    Set objFolder = Nothing  
    If MsgBox("Unterordner duchsuchen?", vbYesNo, "Abfrage") = vbYes Then  
      rekursiv BrowseDir.items().Item().Path, True
    Else
      rekursiv BrowseDir.items().Item().Path, False
    End If  
    Application.ScreenUpdating = True
    Columns.AutoFit
  End If  
  Set objShell = Nothing  
End Sub  
Function rekursiv(ordner, unterordner As Boolean)  
  Set objShell = CreateObject("Shell.Application")  
  Set objFolder = objShell.Namespace(ordner)
  For Each varName In objFolder.items  
    If varName.Type = "Dateiordner" And unterordner = True Then    
      rekursiv varName.Path, True
    ElseIf varName.Type <> "Dateiordner" Then    
      i = i + 1
      Cells(i, 1) = varName.Path
      For k = 1 To 50  
        Cells(i, k + 1) = objFolder.GetDetailsOf(varName, k)
      Next
    End If  
  Next
  Set objFolder = Nothing  
End Function  


mfg Anton
Anzeige
AW: Auslesen Ersteller Besitzer einer Datei
27.04.2010 10:49:47
alexander
Hallo Anton,
danke das Makro ist echt Klasse, auch wenn es ein Moment dauerte dahinter zu steigen.
Hier für alle auch noch einmal die Lösung, wie ich es jetzt umgesetzt habe.
Sub NCProg()
Dim Eingabeaufforderung As Date
Var1 = InputBox("Geben Sie das Datum was sie einlesen möchten", "Abfrage", Date)
If Var1  "" Then
GoTo anfang
End If
If Var1 = "" Then
GoTo ende
End If
anfang:
'Alle Meldungen aus
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.EnableEvents = False
'Alte Daten löschen
' alle Dateien des Ordners anzeigen in Indexdatei
Dim datei As Object
Dim objShell, objFolder As Object
Pfad = Cells(3, "B")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("\\DEKLI1S5020\5020-App$\Coscom\CNC\WINTOOL\" & Pfad & "\ _
")
If objFolder = "" Then GoTo ende
For Each datei In objFolder.items
If LCase(datei) Like "*.inp" And DateValue(objFolder.GetDetailsOf(datei, 5)) =  _
DateValue(Var1) Then
'Dateiname auslesen
prognam = "'" & Right(Left$(datei, InStrRev(datei, ".") - 1), 6)
'Besitzer auslsen
besitzer = objFolder.GetDetailsOf(datei, 8)
larX = 1 + Cells(Rows.Count, 1).End(xlUp).Row   'Letzte Zeile
'Daten schreiben
Cells(larX, 1) = prognam
Cells(larX, 1).Interior.Color = 15773696
Cells(larX, 2) = Date
Cells(larX, 3) = "X"
Cells(larX, 6) = Mid(besitzer, 8, (Len(besitzer) - 7))
End If
Next
ende:
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen