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

@Sepp: Brauch noch einmal Deine Hilfe!

@Sepp: Brauch noch einmal Deine Hilfe!
Claudia
Hallo Sepp,
ich bräuchte noch einnmal Deine Hilfe! Genauer gesagt stehe ich vor folgendem Problem:
Beim Öffnen einer Excel-Datei sollen alle Dateien des Ordners E:/Testdateien ausgelesen werden (Dateiname + Endung wie z.B. doc).
Die Dateien sollen in einem ausgeblendeten* Sheet (Name Test) dieser Datei in Spalte A eingetragen werden. Anschliessend soll die Datei direkt gespeichert werden.
Beim erneuten Aufrufen der Datei soll die Spalte A geleert und der Inhalt neu eingetragen werden.
* xlsheetveryhidden
Wäre das machbar?
Vielen vielen Dank!
Liebe Grüße
Claudia

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: @Sepp: Brauch noch einmal Deine Hilfe!
06.04.2011 20:32:51
Josef

Hallo Claudia,
kopiere diesen Code in das Modul "DieseArbeitsmappe".
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************
Option Explicit
Private Sub Workbook_Open()
  Dim strPath As String, strFile As String
  Dim lngRow As Long
  strPath = "E:\Testdateien"
  strPath = IIf(Right(strPath, 1) = "\", strPath, strPath & "\")
  strFile = Dir(strPath & "*", vbNormal)
  With Sheets("Test")
    .Columns(1).ClearContents
    Do While strFile <> ""
      lngRow = lngRow + 1
      .Cells(lngRow, 1) = strFile
      strFile = Dir
    Loop
  End With
  Me.Save
End Sub



« Gruß Sepp »

Anzeige
@ Sepp: Einfach super. Vielen Dank und
06.04.2011 21:09:25
Claudia
schönen Abend!
@ Sepp: ......
07.04.2011 12:29:56
Claudia
Hallo Sepp,
liesse sich das auch machen, dass Dateien von Unterordnern mit ausgelesen werden oder wäre sehr viel Arbeit? Es sollte dann der gesamte Pfad aufgeführt werden wie z.B. E:\Testdateien\Alle\Test.xls
Nochmals Danke schön!
Liebe Grüße
Claudia
AW: @ Sepp: ......
07.04.2011 14:52:38
Rudi
Hallo,
bin zwar nicht Sepp..
Aus meinem Code-Keller:
In ein Modul:
Dim wksTest As Worksheet, vntFiles(), lngFiles As Long
Sub DateiListe()
Dim FSO As Object, oFolder As Object
Dim strFolder As String
Application.ScreenUpdating = False
Set wksTest = ThisWorkbook.Sheets("Test")
Set FSO = CreateObject("Scripting.FileSystemObject")
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Ordner wählen"
.AllowMultiSelect = False
If .Show = -1 Then
strFolder = .SelectedItems(1)
End If
End With
If strFolder = "" Then Exit Sub
Set oFolder = FSO.getfolder(strFolder)
lngFiles = 1
With wksTest
.Cells.ClearContents
.Cells(1, 1) = "Datei"
End With
prcFiles oFolder
prcSubFolders oFolder
With wksTest
.Range(.Cells(2, 1), .Cells(lngFiles, UBound(vntFiles, 1))) _
= WorksheetFunction.Transpose(vntFiles)
End With
ThisWorkbook.Save
Application.ScreenUpdating = True
End Sub
Sub prcSubFolders(oFolder)
Dim oSubFolder As Object
For Each oSubFolder In oFolder.subfolders
prcFiles oSubFolder
prcSubFolders oSubFolder
Next
End Sub
Sub prcFiles(oFolder)
Dim oFile As Object
For Each oFile In oFolder.Files
ReDim Preserve vntFiles(1 To 1, 1 To lngFiles)
vntFiles(1, lngFiles) = oFile
lngFiles = lngFiles + 1
Next
End Sub

In DieseArbeitsmappe:
Private Sub Workbook_Open()
DateiListe
End Sub

Gruß
Rudi
Anzeige
@ Rudi: Auch Dir vielen Dank für die Hilfe! :-)
07.04.2011 20:35:23
Claudia
Nicht mein Beitrag, aber eine Frage
07.04.2011 20:50:45
Franz
Hallo Rudi, Hallo Sepp,
dieser Beitrag hat mein Interesse geweckt.
Könntet Ihr mir sagen, was man ändern muss, wenn man nur die Ordnernamen auslesen will (also ohne die Dateien).
Besten Dank!
Gruß
Franz Kupfer
Ordnerliste
08.04.2011 09:03:53
Rudi
Hallo,
so geht das:
Dim oDictF As Object
Sub OrdnerListe()
Dim FSO As Object, oFolder As Object
Dim strFolder As String
Application.ScreenUpdating = False
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oDictF = CreateObject("Scripting.Dictionary")
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Ordner wählen"
.AllowMultiSelect = False
If .Show = -1 Then
strFolder = .SelectedItems(1)
End If
End With
If strFolder = "" Then Exit Sub
Set oFolder = FSO.getfolder(strFolder)
prcSubFolders oFolder
With Sheets(1)
.Cells.ClearContents
.Cells(1, 1) = "Ordner"
.Cells(2, 1).Resize(oDictF.Count) = WorksheetFunction.Transpose(oDictF.keys)
.Columns(1).AutoFit
.Activate
End With
Application.ScreenUpdating = True
End Sub
Sub prcSubFolders(oFolder)
Dim oSubFolder As Object
For Each oSubFolder In oFolder.subfolders
oDictF(oFolder) = 0
prcSubFolders oSubFolder
Next
End Sub
Gruß
Rudi
Anzeige
Vielen Dank ! Klappt bestens.
08.04.2011 10:45:58
Franz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige