Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
760to764
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
760to764
760to764
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ordnerinhalt darstellen

Ordnerinhalt darstellen
06.05.2006 14:24:01
highman4
Liebe Excelfreunde,
ich möchte gern die Dateien eines Ordners mit Dateinamen in einer Exceltabelle erfassen.
Dabei sollte hier die Exceltabelle auch automatisch aktualisiert werden, wenn sich der Ordnerinhalt ändert. Zusätzlich möchte ich jede dieser einzelnen Dateien aus dieser Ansicht öffnen können.
Jetzt die Frage, kann mir hier jemand helfen?
Vielen Dank und viele Grüsse
Highman4

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordnerinhalt darstellen
06.05.2006 14:49:58
Josef
Hallo ?
Willst du immer den selben Ordner auslesen?
Sollen alle Dateien angezeigt werden, oder nur ein bestimmter Dateityp?
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

AW: Ordnerinhalt darstellen
06.05.2006 14:55:41
highman4
Hallo,
Ja, ich will nur einen ganz bestimmten Ordner auslesen.
Der Dateityp ist immer derselbe nämlich "*.xls" datumsabhängig sortiert.
Anzeige
AW: Ordnerinhalt darstellen
06.05.2006 15:34:42
Josef
Hallo ? (Hast du auch einen Namen?)
Das könnte man z.B. so lösen.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
Dateien_Auflisten
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
StopTimer
End Sub


Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Application.CommandBars("Web").Visible = False
End Sub


' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Dim RunWhen As Double
Const cRunIntervalSeconds = 60 ' Aktualisierungsintervall in Sekunden - Anpassen
Const cRunWhat = "Dateien_Auflisten"

Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _
  schedule:=True
End Sub


Sub StopTimer()
On Error Resume Next
Application.OnTime earliesttime:=RunWhen, _
  procedure:=cRunWhat, schedule:=False
End Sub



Sub Dateien_Auflisten()

'by J.Ehrensberger

Dim fSearch As FileSearch
Dim wkb As Workbook
Dim strPath As String
Dim iCnt As Integer
Dim objSH As Worksheet

Dim lngCalculation As Long

On Error GoTo ErrExit

With Application
  .ScreenUpdating = False
  .EnableEvents = False
End With


Set objSH = ThisWorkbook.Sheets("Tabelle1") 'Tabelenname anpassen!
objSH.Columns("A:B").Clear

strPath = "F:\Office\Excel"

If strPath = "" Then Exit Sub

Set fSearch = Application.FileSearch

With fSearch
  .NewSearch
  .LookIn = strPath
  .SearchSubFolders = False '<<<<Unterordner durchsuchen True/False
  .FileType = msoFileTypeExcelWorkbooks
  If .Execute > 0 Then
    
    For iCnt = 1 To .FoundFiles.Count
      
      objSH.Cells(iCnt, 1) = .FoundFiles(iCnt)
      objSH.Cells(iCnt, 2) = FileDateTime(.FoundFiles(iCnt))
      objSH.Hyperlinks.Add Anchor:=objSH.Cells(iCnt, 1), Address:= _
        objSH.Cells(iCnt, 1).Text, TextToDisplay:=objSH.Cells(iCnt, 1).Text
    Next
    
  End If
  
End With

objSH.Columns("A:B").AutoFit
objSH.Columns("A:B").Sort key1:=objSH.Range("B1"), _
  order1:=xlDescending, _
  key2:=objSH.Range("A1"), _
  order2:=xlDescending

ErrExit:


If Err.Number > 0 Then
  MsgBox Err.Number & vbLf & Err.Description, , "Fehler"
  Err.Clear
End If

With Application
  .ScreenUpdating = True
  .EnableEvents = True
End With

Set fSearch = Nothing
Set objSH = Nothing

StartTimer

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Ordnerinhalt darstellen
06.05.2006 15:53:44
highman4
Hallo Sepp,
selbstverständlich my name is Lutz.
Ich hoffe Du hast das nicht jetzt alles programmieren müssen.
Im Moment ist mir noch nicht richtig klar, wie ich das Ganze anwende, und bei mir umsetze, aber ich versuche erst mal Deinen Code zu verstehen.
Ob ich das aber schaffe?
Wie ich sehe bist Du hier sehr aktiv. Ich habe die komplette CD Tutorial version 4.0 und Dialogversion 1.0 erworben. Gern würd ich in den Beispieldateien schon am Dateinamen erkennen worum es geht. Ich muß dazusagen ich habe die CD nicht auf den Rechner gebracht ich versuche von CD zu lesen. Geht das?
Trotzdem zunächst vielen vielen Dank für Deine Unterstützung nun wird mein Abend gesichert sein
Lutz
Anzeige
AW: Ordnerinhalt darstellen
06.05.2006 16:27:28
highman4
Vielen Dank Sepp, es klappt super.
Nur ein kleines Problem hat er noch, die Konstantendeklaration bei der Timerfunktion
Const cRunIntervalSeconds = 60 meckert er ständig an ?
Vielleicht meldest Du Dich noch mal
vielen Dank
Lutz
AW: Ordnerinhalt darstellen
06.05.2006 18:16:37
Josef
Hallo Lutz!
Kann ich mir nicht vorstellen!
Wenn du den Code kopiert und eingefügt hast, dann sollte er auch laufen.
Welche Fehlermeldung kommt den vom Debuger?
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Ordnerinhalt darstellen
07.05.2006 04:03:57
highman4
Hallo Sepp,
In dieser Prozedur sagt er mir,
Fehler beim Kompilieren
Variable nicht deklariert
Obwohl bei TimeSerial der Sekundenanteil cRunIntervalSekonds
eindeutig als Konstante mit 60 Sekunden deklariert ist.
Naja,das ist aber nicht so schlimm, mir reicht es, wenn ich die Prozedur Dateien_Auflisten() starte und es wird aktualisiert.
Nochmals vielen Dank
Lutz

Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _
schedule:=True
End Sub

Anzeige
AW: Ordnerinhalt darstellen
07.05.2006 08:45:51
Josef
Hallo Lutz!
Hast du dich nur heir im Posting verschrieben, oder auch im Code?

cRunIntervalSekonds

Es muss cRunIntervalSeconds heisen!
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Ordnerinhalt darstellen
07.05.2006 16:51:34
highman4
Sorry Sepp,
selbstverständlich verschrieben. Im Code steht es richtig cRunIntervalSeconds.
Leider bleibt die Fehlermeldung.
Lutz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige