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

Forumthread: PDF-Dokument öffnen und umbenennen

PDF-Dokument öffnen und umbenennen
26.09.2014 14:51:34
Fred94
Hallo zusammen,
ich würde mich freuen, wenn Ihr mir helfen könnt. Und zwar habe ich folgendes Problem. Ich benötige einen Code der eine Userform aufruft und dann das (alphabetisch gesehen) erste Dokument in einem Ordner aufruft. Dann soll man in die Userform den zukünftigen Namen der PDF-Datei eintragen, die Eingabe bestätigen und dann soll das PDF-Dokument geschlossen werden, das PDF-Dokument umbenannt werden (in den zuvor eingegeben Wert) und das nächste PDF-Dokument öffnen.
Ich hoffe ihr könnt mir helfen.
Mit freundlichen Grüßen
Fred

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF-Dokument öffnen und umbenennen
26.09.2014 15:05:36
mumpel
Hallo!
Öffnen musst Du die Dateien nicht. Einfach die Name-Funktion nutzen. Anstelle der "Festnamen" kannst Du auch die Inhalte der Textboxen nutzen. Beispiel: Name "C:\Test.pdf" As "C:\NewTest.pdf"
Gruß, René

Testantwort owT.
29.09.2014 09:05:36
mumpel

AW: PDF-Dokument öffnen und umbenennen
29.09.2014 10:11:57
Fred94
Vielen Dank Mumpel ..
Das Problem ist, dass ich die Datei sehen muss um zu wissen, wie ich diese benennen möchte.
Außerdem weiß ich den aktuellen Namen der Datei nicht.
Es ist so, dass Dokumente eingescannt werden und alle in einem Ordner landen. Hier soll er das (alphabetisch) erste DOkument öffnen und dann möchte ich diese umbenennen mithilfe der Userform.
Ich hoffe ihr versteht was ich meine.

Anzeige
AW: PDF-Dokument öffnen und umbenennen
29.09.2014 10:51:00
mumpel
Das Problem ist dass Du PDF-Dateien nicht in Excel öffnen kannst (Excel ist eine Tabellenkalkulation, kein PDF-Reader). Öffnen lassen kannst Du sie per VBA mit (mit einem PDF-Reader per ShellExecute). Aber Schließen musst Du manuell. Du müsstest also Dein Konzept überdenken.

Anzeige
Nachtrag
29.09.2014 11:16:53
mumpel
Vorschlag. Alle PDF-Dateien in eine Tabelle einlesen. Dann kannst Du die Dateien öffnen, anschauen und schließen. In einer weiteren Spalte dann den neuen Namen eintragen. Wenn Du alle neuen Namen eingetragen hast kannst Du sie "in einem Rutsch" umbenennen. Oder einzeln umbenennen per Doppelklick auf den neuen Name.
Ich hab Dir das mal als Beispiel erstellt. Zuerst die Dateien einlesen (Schaltfläche "Dateien einlesen"). Bei Doppelklick auf eine Zelle in Spalte C wird die entsprechende Datei geöffnet. Du kannst sie Dir dann anschauen. anschließen Datei schließen. In Spalte D dann den neuen Namen eingeben. Bei Doppelklick auf den neuen Namen wird die Datei umbenannt. Du kannst auch erst alle Dateien anschauen, den Namen vergeben und zum Schluß auf "Dateien umbenennen" klicken.
Die Beispieldatei (XLSB-Format) ist als ZIP-Archiv gepackt, da XLSB hier nicht erlaubt.
https://www.herber.de/bbs/user/92875.zip

Anzeige
AW: Nachtrag
30.09.2014 07:57:14
Fred94
Danke.
Haber gestern aber selber schon eine Lösung gefunden. Und zwar kopiert er die entsprechenden PDF-Dateien in einen extra Ordner, öffnet die dann aus dem extra Ordner und benennt die Dateien in dem Scaneingang um.
Alles auswählenSub Test()
Dim cDir As String, qPath As String, nPath As String
Dim myfso As Object
qPath = "W:\Scaneingang\"
nPath = "W:\Eigener Temp-Ordner\"
Set myfso = CreateObject("Scripting.FileSystemObject")
cDir = Dir(qPath & "*.pdf")
Do While cDir  ""
myfso.copyfile qPath & cDir, nPath & cDir
ActiveWorkbook.FollowHyperlink nPath & cDir
UserForm1.Show
With ThisWorkbook.Worksheets("Tabelle1")
If .Range("A1").Value = "Ja" Then
Name qPath & cDir As qPath & .Range("A2").Value & ".pdf"
With ThisWorkbook.Worksheets("Übersicht").Range("A1").End(xlDown)
.Offset(1, 0).Value = ThisWorkbook.Worksheets("Tabelle1").Range("A2"). _
Value
.Offset(1, 1).Value = Date
End With
ElseIf .Range("A1").Value = "Abbrechen" Then
Exit Sub
ElseIf .Range("A1").Value = "Überspringen" Then
End If
End With
cDir = Dir
Loop
End Sub

Und hier der Code der Userbox.
Code: Alles auswählenPrivate Sub CommandButton1_Click()
If UserForm1.TextBox1.Value = "" Then
MsgBox "Bitte trag auch einen Namen in das entsprechende Feld."
ElseIf ThisWorkbook.Worksheets("Übersicht").Columns(1).Find(TextBox1.Value, LookAt:= _
xlWhole, LookIn:=xlValues) Is Nothing Then
With ThisWorkbook.Worksheets("Tabelle1")
.Range("A1").Value = "Ja"
.Range("A2").Value = UserForm1.TextBox1.Value
End With
Unload Me
Else
MsgBox "Eine Datei mit diesem Namen ist bereits vorhanden."
End If
End Sub
Private Sub CommandButton2_Click()
ThisWorkbook.Worksheets("Tabelle1").Range("A1").Value = "Abbrechen"
Unload Me
End Sub
Private Sub CommandButton3_Click()
ThisWorkbook.Worksheets("Tabelle1").Range("A1").Value = "Überspringen"
Unload Me
End Sub
Commandbutton 1 setzt das Umbenennen um, Commandbutton 2 bricht den ganzen Vorgang ab und Commandbutton 3 überspringt diese Datei. Naja ... Viel mehr schreiben sie den entsprechenden Vorgang in eine Zelle und der Hauptcode setzt den entsprechenden Vorgang dann um.
Außerdem listet er in einem Tabellenblatt alle umbenannten Dateien auf und überprüft, ob schon eine Datei mit diesem Namen existiert.
Vielen Dank!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

PDF-Dokument öffnen und umbenennen


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Ein neues Modul erstellen: Klicke auf Einfügen > Modul.

  3. Code für das Umbenennen von PDF-Dokumenten einfügen: Verwende folgenden VBA-Code:

    Sub Test()
       Dim cDir As String, qPath As String, nPath As String
       Dim myfso As Object
       qPath = "W:\Scaneingang\"
       nPath = "W:\Eigener Temp-Ordner\"
       Set myfso = CreateObject("Scripting.FileSystemObject")
       cDir = Dir(qPath & "*.pdf")
       Do While cDir <> ""
           myfso.copyfile qPath & cDir, nPath & cDir
           ActiveWorkbook.FollowHyperlink nPath & cDir
           UserForm1.Show
           With ThisWorkbook.Worksheets("Tabelle1")
               If .Range("A1").Value = "Ja" Then
                   Name qPath & cDir As qPath & .Range("A2").Value & ".pdf"
               End If
           End With
           cDir = Dir
       Loop
    End Sub
  4. Userform erstellen: Füge eine Userform hinzu, um die Eingabe für den neuen Dateinamen zu ermöglichen. Der Code könnte so aussehen:

    Private Sub CommandButton1_Click()
       If UserForm1.TextBox1.Value = "" Then
           MsgBox "Bitte trag auch einen Namen in das entsprechende Feld."
       Else
           ' Umbenennen der Datei hier
           Unload Me
       End If
    End Sub
  5. Benutzeroberfläche testen: Führe das Makro aus, um zu überprüfen, ob die PDF-Dateien korrekt umbenannt werden.


Häufige Fehler und Lösungen

  • PDF-Datei lässt sich nicht umbenennen: Dies kann passieren, wenn die Datei in einem anderen Programm geöffnet ist. Stelle sicher, dass alle PDF-Dokumente geschlossen sind.

  • Kein Zugriff auf den Ordner: Überprüfe die Berechtigungen für den Ordner, in dem sich die PDF-Dateien befinden.

  • Fehler beim Öffnen der PDF: Excel ist kein PDF-Reader. Verwende einen externen Reader und öffne die Dateien mit VBA über ShellExecute.


Alternative Methoden

  1. PDF-Dateien in eine Excel-Tabelle einlesen: Listet alle PDF-Dateien in einer Tabelle auf. Dies ermöglicht ein einfaches Durchsehen und Umbenennen der Dateien.
  2. Verwendung von Batch-Skripten: Mit einem Batch-Skript kannst du PDF-Dateien automatisch umbenennen, indem du die Dateinamen basierend auf bestimmten Kriterien anpasst.

Praktische Beispiele

  • PDF-Datei nach Inhalt umbenennen: Wenn du den Inhalt der PDF-Datei analysieren möchtest, kannst du ein Tool verwenden, um die Inhalte auszulesen und entsprechend zu benennen.

  • PDF automatisch benennen: Du könntest einen VBA-Code schreiben, der die PDFs automatisch basierend auf dem Inhalt oder dem Erstellungsdatum umbenennt.


Tipps für Profis

  • Nutze die Name-Funktion: Um PDFs effizient umzubenennen, kannst du die Name-Funktion in VBA verwenden. Achte darauf, dass der neue Name nicht bereits existiert.

  • Batch-Prozesse erstellen: Wenn du regelmäßig PDF-Dateien umbenennen musst, erstelle einen Batch-Prozess, der alle Schritte automatisch durchführt.


FAQ: Häufige Fragen

1. Wie kann ich eine Datei umbenennen?
Du kannst die Name-Funktion in VBA verwenden, um eine PDF-Datei umzubenennen.

2. Gibt es eine Möglichkeit, PDF-Dateien nach ihrem Inhalt umzubenennen?
Ja, du kannst ein Skript verwenden, das den Inhalt der PDF-Dateien ausliest und sie entsprechend umbenennt.

3. Kann ich PDF-Dateien in Excel öffnen?
Nein, Excel kann PDF-Dateien nicht direkt öffnen. Du musst einen externen PDF-Reader verwenden.

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