Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1380to1384
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
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

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.

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

13 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige