Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

PDF-Dokument öffnen und umbenennen

Betrifft: PDF-Dokument öffnen und umbenennen von: Fred94
Geschrieben am: 26.09.2014 14:51:34

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

  

Betrifft: AW: PDF-Dokument öffnen und umbenennen von: mumpel
Geschrieben am: 26.09.2014 15:05:36

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é


  

Betrifft: Testantwort owT. von: mumpel
Geschrieben am: 29.09.2014 09:05:36




  

Betrifft: AW: PDF-Dokument öffnen und umbenennen von: Fred94
Geschrieben am: 29.09.2014 10:11:57

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.


  

Betrifft: AW: PDF-Dokument öffnen und umbenennen von: mumpel
Geschrieben am: 29.09.2014 10:51:00

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.


  

Betrifft: Nachtrag von: mumpel
Geschrieben am: 29.09.2014 11:16:53

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


  

Betrifft: AW: Nachtrag von: Fred94
Geschrieben am: 30.09.2014 07:57:14

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!


 

Beiträge aus den Excel-Beispielen zum Thema "PDF-Dokument öffnen und umbenennen"