1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Kalisser

Beiträge von Kalisser

  • PDF kopieren mit Namen aus CSV

    • Kalisser
    • 18. Mai 2017 um 15:18

    Hallo Zusammen,

    ich bin vor wenigen Stunden auf AutoIt gestoßen und habe ich mich ein bisschen eingearbeitet. Nun stecke ich aber fest und benötige euch Experten :)
    Ein bisschen Erfahrung im Programmieren habe ich.

    Was ich benötige
    Ich habe eine PDF und eine CSV, die mit Semikolons getrennt ist. Die PDF möchte ich so oft duplizieren wie die CSV Zeilen hat. Der Name der PDF soll dann aus der 7. Spalte (bzw. nach dem 6. und dem 8. Semikolon) der CSV erstellt werden und in einen Zielordner verschoben werden.

    Was ich habe
    Bisher habe ich eine GUI erstellt, wo man die PDF, CSV und das Zielverzeichnis auswählen.

    Was ich mir überlegt habe
    Man könnte das Problem mit einer Do-Until-Schleife lösen. Also
    1. PDF kopieren
    2. in CSV in Zeile 1 zu Spalte 7 gehen und Wert kopieren
    3. PDF nach diesem Wert umbenennen
    4. PDF verschieben
    5. Zeilen-Zähler +1

    solange bis Werte in Spalte G zu finden sind.

    Ab Zeile 60 komme ich ins Stocken.

    Ich habe hier im Forum auch schon fleißig in anderen Themen gesucht aber so richtig konnte ich da nicht schlau werden.

    Danke für euer Bemühen und viele Grüße
    Kalisser


    AutoIt: einePDFduplizieren
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
    #include <StringConstants.au3>
    #include <File.au3>
    
    
    Example()
    
    
    Func Example()
    
    
        Local $hGUI = GUICreate("einePDFduplizieren", 425, 110)
    
    
        Local $idPDFInput = GUICtrlCreateInput("", 5, 5, 200, 20)
        Local $idPDFBrowse = GUICtrlCreateButton("PDF auswählen", 210, 5, 90, 20)
    
    
    	Local $idCSVInput = GUICtrlCreateInput("", 5, 30, 200, 20)
        Local $idCSVBrowse = GUICtrlCreateButton("CSV auswählen", 210, 30, 90, 20)
    
    
        Local $idZielordnerInput = GUICtrlCreateInput("", 5, 55, 200, 20)
        Local $idZielordnerBrowse = GUICtrlCreateButton("Zielordner auswählen", 210, 55, Default, 20)
    
    
    
    
        Local $idStarten = GUICtrlCreateButton("Start", 330, 80, 90, 25)
    
    
        GUISetState(@SW_SHOW, $hGUI)
    
    
        Local $sFilePath = ""
        Local $sPDFRead = ""
        Local $sCSVRead = ""
        Local $ZielordnerRead = ""
    
    
        While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    ExitLoop
    
    
                Case $idPDFBrowse
                    $sFilePath = FileOpenDialog("Wähle die PDF aus", "G:\PDF", "PDF-Datei (*.pdf)") ; Wählt die Ursprungs-PDF aus
                    If @error Then
                        ContinueLoop
                    EndIf
                    GUICtrlSetData($idPDFInput, $sFilePath) ; Setz den Pfad der PDF in das Feld ein.
    
    
    			Case $idCSVBrowse
                    $sFilePath = FileOpenDialog("Wähle die CSV aus", "G:\CSV", "CSV-Datei (*.csv)") ; Wählt die CSV aus
                    If @error Then
                        ContinueLoop
                    EndIf
                    GUICtrlSetData($idCSVInput, $sFilePath) ; Setz den Pfad der CSV in das Feld ein.
    
    
                Case $idZielordnerBrowse
    			   $sFilePath = FileSelectFolder("Wähle den Zielordner", "G:\Zielordner")
                    If @error Then
                        ContinueLoop
                    EndIf
                    GUICtrlSetData($idZielordnerInput, $sFilePath) ; Setz den Pfad des Zielordners in das Feld ein.
    
    
    			 Case $idStarten
    				$sPDFRead = GUICtrlRead($idPDFInput) ; Liest den Pfad zur PDF
                    $sCSVRead = GUICtrlRead($idCSVInput) ; Liest den Pfad zur CSV
                    $ZielordnerRead = GUICtrlRead($idZielordnerInput) ; Liest den Pfad zum Zielordner
    
    
    				If FileExists($sPDFRead) And FileExists($sCSVRead) And FileExists($ZielordnerRead) Then ; Prüft, ob alle Dateien existiren
    
    
    				  Do 
    					 _FileCopy($sPDFRead, $ZielordnerRead) ; Dupliziert und benennt die PDFs
    
    
    					While ; Hier hakt es denn bei mir
    
    
    
    
                            MsgBox($MB_SYSTEMMODAL, "Erfolg", "Die PDF wurde dupliziert und umbenannt!")
                        Else
                            Switch @error
                                Case 1
                                    MsgBox($MB_SYSTEMMODAL, "Error", "PDF konnte nicht gefunden werden")
                                Case 2
                                    MsgBox($MB_SYSTEMMODAL, "Error", "CSV konnte nicht gefunden werden.")
                                Case 3
                                    MsgBox($MB_SYSTEMMODAL, "Error", "Zielordner konnte nicht geöffnet werden")
                            EndSwitch
    					 EndIf
    			   EndIf
           EndSwitch
    
    
    
    
    
    
        WEnd
    
    
        GUIDelete($hGUI) ; Delete the previous GUI and all controls.
    EndFunc   ;==>Example
    Alles anzeigen

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™