Clever-Excel-Forum

Normale Version: mehrere pdfs in excel einfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe folgende Frage:
Wie kann ich (eventuel Makro) von dem Ordner, wo meine Excel gespeichert ist, alle vorhandenen pdfs in die Excel einfügen.
Am besten nicht alle in die gleiche Zeile speichern, sondern unter oder hinter einander. Normalerweise habe ich 3-6 pdfs.
Wie man ein pdf per Einfügen, Object etc. einfügt weiß ich. Leider schaffe ich es nicht mehrere pdfs bei dieser Aktion auszuwählen.

Ich bedanke mich für Ihre Hilfe,
Lola
Hallo lola,

das geht dann aber nur mit einem Makro - kennst Du Dich etwas mit VBA aus?

Ich hatte gestern schon mal eine Antwort in einem anderen Thread geschrieben, die einen ersten Ansatz liefert:
http://www.clever-excel-forum.de/thread-6676.html
Dabei geht es erst mal um die Verarbeitung aller txt-Dateien von Unterordnern eines Ordners. Wenn man hier den Ordner ändert (C:\Test) und aus TXT pdf macht, würde das schon mal alle pdf Dateien betreffen, die in den Unterverzeichnissen des Ordners ... liegen.


Code:
Sub ImportFiles()
'Importiert Dateien von Unterordnern - eine Ebene
'Variablendeklarationen
'Objekte
Dim objSourceFolder As Object, objSubFolder As Object
'String
Dim strTextFile$
'Quellordner setzen
Set objSourceFolder = CreateObject("Scripting.FileSystemObject").GetFolder("C:\Test")
'Schleife ueber alle Unterordner (eine Ebene)
For Each objSubFolder In objSourceFolder.SubFolders
  'Textdatei mit Dir feststellen
  strTextfile = Dir(SubFolder.Path & "\*.TXT")
  'Schleife, solange Dir etwas zurueckgibt
  Do While strTextfile <> ""
    'Hier kommt Dein Import rein
    '...
    'Naechste Textdatei ermitteln
    strTextFile = Dir()
  'Ende Schleife, solange Dir etwas zurueckgibt
  Loop
'Ende Schleife ueber alle Unterordner (eine Ebene)
Next
End Sub

Angepasst würde der code z.B. so aussehen - und gibt Dir erst mal alle pdf-Dateinamen in Spalte A ab A1 aus:

Code:
Sub ImportFiles()
'Importiert Dateien von Unterordnern - eine Ebene
'Variablendeklarationen
'Objekte
Dim objSourceFolder As Object, objSubFolder As Object
'String
Dim strTextFile$
'Integer
Dim iCnt%
'Quellordner setzen
Set objSourceFolder = CreateObject("Scripting.FileSystemObject").GetFolder("C:\Test")
  'pdf-datei mit Dir feststellen
  strTextfile = Dir(objSourceFolder.Path & "\*.pdf")
  'Schleife, solange Dir etwas zurueckgibt
  Do While strTextfile <> ""
    'Hier kommt Dein Import rein
    '...
    'mal die Ausgabe der Dateinamen
    'Zeilenzaehler setzen
    iCnt = iCnt + 1
    'Dateiname in Zeile eintragen
    Cells(iCnt, 1) = strTextFile
    'Naechste pdf-datei ermitteln
    strTextFile = Dir()
  'Ende Schleife, solange Dir etwas zurueckgibt
  Loop
End Sub

Schaue mal, ob das passt. Wenn Du nicht weißt, wie und wo Du das verwenden kannst, einfach weiter fragen ...
Hallo André,
danke für deine Hilfe, es funktioniert mit dem Namen und hilft mir VBA ein bisschen mehr zu verstehen :)