Microsoft Excel

Herbers Excel/VBA-Archiv

Alle PDF´s aus Ordner und Unterordner auslesen! | Herbers Excel-Forum


Betrifft: Alle PDF´s aus Ordner und Unterordner auslesen! von: Thomas
Geschrieben am: 19.02.2012 10:30:07

Einen schönen guten Morgen,

unter Ordner auslesen hab ich nicht das gefunden was ich suche, daher wende ich mich Hilfe suchend an euch.
Ich will aus "C:\...\...\Miete und NK\" alle PDF Dateien auslesen. In Miete und NK befinden sich Unterordner\Unteroerdner und aus denen sollen alle in eine Tabelle aufgelistet werden.

Ich hoffe es kann mir jemand Helfen ob mit einem Code oder einem Link der mich weiter bringt.

Gruß Thomas aus Stuttgart

  

Betrifft: AW: Alle PDF´s aus Ordner und Unterordner auslesen! von: ransi
Geschrieben am: 19.02.2012 11:13:29

Hallo Thomas

oder einem Link der mich weiter bringt
Gib im Archiv (http://xlarchiv.herber.de/)mal "filesearch excel 2007"ein.
Da kommt dann so einiges.

Wenn du damit nicht klarkommst, ruhig nochmal melden.

ransi


  

Betrifft: AW: Alle PDF´s aus Ordner und Unterordner auslesen! von: Thomas
Geschrieben am: 19.02.2012 11:42:06

Hallo Ransi,

die Datei von Hajo nutz ich schon hin und wieder zum suchen und ich hab nun auch mal nach PDF gesucht das geht ja dachte es geht nur bei Exceldateien nun weiss ich das ich auch Pdf damit suchen kann.
Was mich aber bei der ganzen Sache stört ist das ich das Verzeichnis,User.... den ganzen Pfad bis zu Miete und NK auswählen muss.
Ich will immer nur diesen Ordner und darin alle Pdf´s haben ohne das ich anklicken muss wo ich suche.
Von mir aus leg ich den Pfad in A1 an bis Miete und NK und der Code listet mir dann aus den Unterordner alle PDF´s auf. Es sind nur PDF´s darin gespeichert nichts anderes.

Gruß Thomas aus Stuttgart


  

Betrifft: AW: Alle PDF´s aus Ordner und Unterordner auslesen! von: ransi
Geschrieben am: 19.02.2012 12:25:31

HAllo Thomas

ICH kenne Hajos Suchalgorithmus nicht.
Ich nutze den Code von Nepumuk

Schau dir mal die Beispieldatei an.
Da kannst du den Startpfad vorgeben.

https://www.herber.de/bbs/user/78993.xls

ransi


  

Betrifft: Alle PDF´s aus Ordner und Unterordner auslesen! von: Anton
Geschrieben am: 19.02.2012 12:27:26

Hallo Stuttgart ,

probier sowas:

Code:

Private Declare Function OemToCharA Lib "user32.dll" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long        

Public Function ASCIItoANSI(ByVal Text As String) As String    
  Call OemToCharA(Text, Text)  
  ASCIItoANSI = Text
End Function  

Sub pdf_auflisten()
  Dim objShell As Object, objExec As Object  
  Dim vntRet As Variant, strFolder As String, strTMP As String    
  strFolder = "C:\...\...\Miete und NK\" 'anpassen
  Set objShell = CreateObject("WScript.Shell")  
  ChDrive Left(strFolder, 1)
  ChDir strFolder
  Set objExec = objShell.Exec("cmd /c dir /s /b *.pdf")
  strTMP = ASCIItoANSI(objExec.StdOut.ReadAll)  'Idee von Bernd (bst)
  vntRet = Split(strTMP, vbCrLf)
  If UBound(vntRet) > 0 Then Tabelle1.Range("A1").Resize(UBound(vntRet) + 1, 1) = Application.Transpose(vntRet)  
  Set objShell = Nothing  
End Sub  



mfg Anton


  

Betrifft: AW: Alle PDF´s aus Ordner und Unterordner auslesen! von: Thomas
Geschrieben am: 19.02.2012 12:40:33

Hallo Ransi und Anton,

Ransi bei deinem Beispiel muss ich wie bei Hajo auch bis zum Ordner "Miete und NK" alles durchklicken das will ich nicht.
Anton, dein Code hab ich in die Tabelle eingetragen und den Pfad C:\User\...\... ergänzt aber da kommt die Meldung Pfad nicht gefunden.

Gruß Thomas aus Stuttgart


  

Betrifft: Sorry, Anton Schreibfehler meinerseits! von: Thomas
Geschrieben am: 19.02.2012 12:54:00

Anton,

es geht nun.
Großen Dank an euch und wünsch noch einen schönen Sonntag.

Gruß Thomas aus Stuttgart


  

Betrifft: Wie kann man nur den Dateinamen anzeigen? OT! von: Thomas
Geschrieben am: 19.02.2012 12:59:12




  

Betrifft: nur den Dateinamen anzeigen von: Anton
Geschrieben am: 19.02.2012 13:11:17

Hallo Thomas,

so:

Code:

Private Declare Function OemToCharA Lib "user32.dll" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long        

Public Function ASCIItoANSI(ByVal Text As String) As String    
  Call OemToCharA(Text, Text)  
  ASCIItoANSI = Text
End Function  

Sub pdf_auflisten()
  Dim objShell As Object, objExec As Object  
  Dim vntRet As Variant, strFolder As String, strTMP As String    
  strFolder = "C:\...\...\Miete und NK\" 'anpassen
  Set objShell = CreateObject("WScript.Shell")  
  ChDrive Left(strFolder, 1)
  ChDir strFolder
  Set objExec = objShell.Exec("cmd /c dir /s /b *.pdf")
  strTMP = ASCIItoANSI(objExec.StdOut.ReadAll)   'Idee von Bernd (bst)
  vntRet = Split(strTMP, vbCrLf)
  If UBound(vntRet) > 0 Then  
    zeile = 1
    Tabelle1.Range("A1").Resize(UBound(vntRet) + 1, 1) = Application.Transpose(vntRet)
    For Each datei In vntRet  
      Tabelle1.Cells(zeile, 2) = Mid(datei, InStrRev(datei, "\") + 1)
      zeile = zeile + 1
    Next
  End If  
  Set objShell = Nothing  
End Sub  



mfg Anton


  

Betrifft: Pfad anpassen ... von: Anton
Geschrieben am: 19.02.2012 12:59:51

Hallo Thomas,

du musst den Pfad direkt angeben, etwa so:"E:\Temp\Simon\ascii\ascii\ascii\bin".

mfg Anton


  

Betrifft: AW: Pfad anpassen ... von: Thomas
Geschrieben am: 19.02.2012 13:39:55

Hallo Anton,

es lag nur an dem "s" bei Users wo ich vergessen hatte.

Dein Code scheibt nun den Dateinamen in Spalte B soweit so gut. Ich hab das getauscht aber lässt sich das noch entfernen aus den Zellen C:\....\.....\Miete und NK so das nur noch die Unterordner angezeigt werden?
Also Unterordner\Unterordner\Dateiname der PDF.

Gruß Thomas aus Stuttgart


  

Betrifft: AW: Pfad anpassen ... von: Anton
Geschrieben am: 19.02.2012 13:49:43

Hallo Thomas,

...  
strTMP = ASCIItoANSI(objExec.StdOut.ReadAll)  'Idee von Bernd (bst)
strTMP = Replace(strTMP, strFolder, "")
vntRet = Split(strTMP, vbCrLf)
...
mfg Anton


  

Betrifft: AW: Pfad anpassen ... von: Thomas
Geschrieben am: 19.02.2012 13:44:43

Hallo Anton,

es lag nur an dem "s" bei Users wo ich vergessen hatte.

Dein Code scheibt nun den Dateinamen in Spalte B soweit so gut. Ich hab das getauscht aber lässt sich das noch entfernen aus den Zellen C:\....\.....\Miete und NK so das nur noch die Unterordner angezeigt werden?
also Unterordner\Unterordner\Dateinamen der PDF.

Gruß Thomas aus Stuttgart


  

Betrifft: AW: Pfad anpassen ... von: Thomas
Geschrieben am: 19.02.2012 14:17:36

Hallo Anton,

klasse das funzt und ich hab das nun auch auf A3 angepasst so das ich Überschriften einbauen kann.
Den Dateinamen zerleg ich per Formel als kleine Hausaufgabe oder Übung.

Nochmal schönen Sonntag und auch ein dankeschön.

Gruß Thomas aus Stuttgart


Beiträge aus den Excel-Beispielen zum Thema "Alle PDF´s aus Ordner und Unterordner auslesen!"