Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: PDF Datei kopieren und umbennen

PDF Datei kopieren und umbennen
08.02.2007 09:47:48
detleffranz
Hallo zusammen,
ich möchte in einem Verzeichnis PDF-Dateien kopieren, umbenennen und in ein anderes Laufwerk kopieren. Das kopieren funktioniert mit dem Befehl Copyfile s.Code:

Sub kopieren()
Dim sQuelle$, sZiel$, sDatei$
Dim iZeile As Long
sQuelle = "U:\test\"
sZiel = "D:\test\"
sDatei = "Plan1.pdf"
If Dir(sZiel & sDatei) = "" Then
FileCopy sQuelle & sDatei, sZiel & sDatei
MsgBox "Datei wurde kopiert!"
Else
MsgBox "Datei war schon vorhanden!"
End If
End Sub

Dies funkt soweit. Jetzt habe ich in meinem Excel-Sheet in Spalte A, Dateinamen
z.B. Plan1, Plan32 usw. In meinen Laufwerk sQuelle "U:\test\" habe diese Namen als PDF Dateien (z.B. Plan1.PDF). Jetzt sollte in meinem Excel-Sheet (Spalte A) nach einem idetischen Namen wie in meinem Laufwerk "U:\test\" gesucht werden und danach kopiert in Laufwerk (sZiel) und umbenannt nach dem jeweiligen Eintrag in Spalte B und C in meinem Excel-Sheet ! Hat jemand eine Idee ?
Gruß Detlef
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF Datei kopieren und umbennen
10.02.2007 01:28:50
fcs
Hallo Detlef,
ungetest, sollte aber etwa das umsetzen was du vorhast. Hoffe Kommentartexte sind ausreichend, damit du weiterkommst.
Gruss
Franz

Sub kopieren()
Dim sQuelle$, sZiel$, sDatei$, sDateiNeu$
Dim wks As Worksheet, rngNamen As Range, sName$, Zelle As Range
Set wks = ActiveSheet 'Tabellenblatt mit den Dateinamen
sQuelle = "U:\test\"
sZiel = "D:\test\"
'Zellbereich mit Namen in Spalte A
With wks
Set rngNamen = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
End With
'Dateiliste aus Quellverzeichnis lesen und abarbeiten
sDatei = Dir(sQuelle & "*.pdf")
Do Until sDatei = ""
'Dateiname in Spalte A suchen
sName = Left(sDatei, Len(sDatei) - 4) 'PDF-Dateiname ohne Dateierweiterung
Set Zelle = rngNamen.Find(what:=sName, LookIn:=xlValues, lookat:=xlWhole)
If Zelle Is Nothing Then
'Datei aus Quellverzeichnis ist nicht in Splate A gelistet
Else
'Neuen Dateinamen bestimmen aus Inhalten Spalte B und C
sDateiNeu = Zelle.Offset(0, 1) & Zelle.Offset(0, 2) & ".pdf" '###ggf. anpassen!!!
'Datei Kopieren
If Dir(sZiel & sDateiNeu) = "" Then
FileCopy sQuelle & sDatei, sZiel & sDateiNeu
MsgBox "Datei " & sDatei & " wurde kopiert!"
Else
MsgBox "Datei  " & sZiel & sDateiNeu & " war schon vorhanden!"
End If
End If
Loop
End Sub

Anzeige
AW: PDF Datei kopieren und umbennen
12.02.2007 08:54:34
detleffranz
Hallo Franz,
vielen Dank für Deine Hilfe. Ich brauche jetzt doch nur die einfache Variante, das alle PDF-Dateien von (sQuelle) nach (sZiel) kopiert werden sollen und der Dateinamen bleibt gleich. Vorhandene Dateien in (sZiel) sollen aber überschrieben werden.
Hast Du noch einen Vorschlag.
Gruß Detlef
Anzeige
AW: PDF Datei kopieren und umbennen
12.02.2007 12:56:43
fcs
Hallo Detlef,
dann vereinfacht sich das Ganze zu

Sub Dateienkopieren()
Dim sQuelle$, sZiel$, sDatei$
sQuelle = "U:\test\"
sZiel = "D:\test\"
'Dateiliste aus Quellverzeichnis lesen und abarbeiten
sDatei = Dir(sQuelle & "*.pdf")
Do Until sDatei = ""
'Datei Kopieren
FileCopy sQuelle & sDatei, sZiel & sDatei
sDatei = Dir
Loop
MsgBox "Dateien wurden kopiert!"
End Sub

Gruß
Franz
Anzeige
AW: PDF Datei kopieren und umbennen
12.02.2007 15:10:32
detleffranz
Besten Dank.
funkt.
Gruß Detlef
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

PDF-Dateien kopieren und umbenennen in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um PDF-Dateien mithilfe von Excel VBA zu kopieren und umzubenennen, kannst Du die folgenden Schritte befolgen:

  1. Öffne Excel und erstelle ein neues Arbeitsblatt.
  2. Fülle die Spalten A, B und C mit den entsprechenden Dateinamen. In Spalte A sollten die ursprünglichen Namen der PDF-Dateien stehen, in Spalte B und C die neuen Namen für die Umbenennung.
  3. Öffne den VBA-Editor (Alt + F11) und füge ein neues Modul hinzu.
  4. Kopiere den folgenden VBA-Code in das Modul:
Sub Dateienkopieren()
    Dim sQuelle As String, sZiel As String, sDatei As String
    sQuelle = "U:\test\"
    sZiel = "D:\test\"
    'Dateiliste aus Quellverzeichnis lesen und abarbeiten
    sDatei = Dir(sQuelle & "*.pdf")
    Do Until sDatei = ""
        'Datei Kopieren
        FileCopy sQuelle & sDatei, sZiel & sDatei
        sDatei = Dir
    Loop
    MsgBox "Dateien wurden kopiert!"
End Sub
  1. Passe die Quell- und Zielpfade (sQuelle und sZiel) an Deine eigenen Verzeichnisse an.
  2. Führe das Makro aus, um die PDF-Dateien zu kopieren.

Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Überprüfe den Pfad in sQuelle. Stelle sicher, dass der Pfad korrekt und die PDF-Dateien vorhanden sind.
  • Fehler: "Datei bereits vorhanden"

    • Wenn Du bestehende Dateien überschreiben möchtest, passe den Code an, um die Dateien ohne Überprüfung zu kopieren.
  • Fehler bei Dateinamen

    • Achte darauf, dass die Dateinamen in Spalte A korrekt eingegeben sind und dass sie keine Leerzeichen oder ungültige Zeichen enthalten.

Alternative Methoden

Neben der Verwendung von VBA gibt es auch andere Möglichkeiten, PDF-Dateien zu kopieren und umzubenennen:

  • Manuelles Kopieren: Du kannst die Dateien einfach im Windows Explorer kopieren und die Namen dort ändern.
  • PowerShell-Skripte: Für fortgeschrittene Benutzer kann ein PowerShell-Skript erstellt werden, um Dateien zu kopieren und zu umbenennen.
  • Drittanbieter-Software: Es gibt Software-Tools, die speziell für das Kopieren und Umbenennen von Dateien entwickelt wurden.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du PDF-Dateien mit VBA kopieren und umbenennen kannst:

  1. Einfaches Kopieren ohne Umbenennung:

    Sub EinfachesKopieren()
        Dim sQuelle As String, sZiel As String
        sQuelle = "U:\test\"
        sZiel = "D:\test\"
        FileCopy sQuelle & "Plan1.pdf", sZiel & "Plan1.pdf"
    End Sub
  2. Kopieren und Umbenennen basierend auf Excel-Daten:

    Sub KopierenUndUmbenennen()
        Dim sQuelle As String, sZiel As String, sDatei As String, sNeuerName As String
        sQuelle = "U:\test\"
        sZiel = "D:\test\"
        sDatei = "Plan1.pdf"
        sNeuerName = "NeuerPlan.pdf"
        FileCopy sQuelle & sDatei, sZiel & sNeuerName
    End Sub

Tipps für Profis

  • Fehlerbehandlung einbauen: Verwende On Error Resume Next, um Fehler abzufangen und entsprechend zu reagieren.
  • Batch-Verarbeitung: Wenn Du viele Dateien kopieren musst, überlege, eine Schleife zu verwenden, um den Prozess zu automatisieren.
  • Logging: Führe ein Protokoll über die kopierten Dateien, um spätere Überprüfungen zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich eine PDF-Datei kopieren? Du kannst den VBA-Befehl FileCopy verwenden, um eine PDF-Datei von einem Ort zu einem anderen zu kopieren.

2. Ist es möglich, aus einer PDF-Datei in Excel zu kopieren? Ja, es gibt verschiedene Methoden, um Inhalte aus PDF-Dateien in Excel zu importieren, z.B. durch PDF-zu-Excel-Konverter oder durch die Verwendung von VBA zur Automatisierung des Prozesses.

3. Kann ich mehrere PDF-Dateien gleichzeitig kopieren? Ja, Du kannst eine Schleife verwenden, um mehrere PDF-Dateien in einem Durchgang zu kopieren, wie im oben beschriebenen Code gezeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige