Office: VBA speichern als PDF mit kontrolle der Namensgebung

Helfe beim Thema VBA speichern als PDF mit kontrolle der Namensgebung in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Profis, Ich sollte hier den Code erweitern. Dieser Speichert die Aktuelle Rechnung als PDF ab, und wenn die letzte geschriebene Rechnung... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von myself84, 4. Januar 2015.

  1. myself84 Erfahrener User

    VBA speichern als PDF mit kontrolle der Namensgebung


    Hallo Profis,

    Ich sollte hier den Code erweitern.
    Dieser Speichert die Aktuelle Rechnung als PDF ab, und wenn die letzte geschriebene Rechnung geändert und erneut gespeichert wird, bekommt diese ja denselben Namen.
    Fazit Fehlermeldung .
    Deshalb sollte vorher überprüft werden ob dieser schon existiert.
    Wenn Ja dann einfach ersetzten ( also bestehende PDF überschreiben ) oder falls einfacher löschen und dann die neue erstellen.
    Wenn nicht dann kann es beim alten Code bleiben.

    Kennt sich jemand damit aus?
    Bitte um Hilfe.


    Gruß Rene


    Code:
    
    Dim strFile As String
       Dim sh As Object
       
        strFile = "C:\Büro\Buchführung\Österreich\Erstellte Rechnungen Österreich 2015\" & Cells(13, 22).Value & "-" & Cells(14, 3).Value
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="FreePDF", _
          PrintToFile:=True, Collate:=True, PrToFileName:=strFile & ".ps"
          Application.Wait Now + TimeSerial(0, 0, 2)
        While Dir(strFile & ".ps") = "": Wend   'Warten bis die Datei da ist
        Shell "C:\Program Files (x86)\FreePDF_XP\freepdf.exe """ & strFile & ".ps""" & " /a /d /x", 1  'Pfad zu freepdf.exe muss ggf. angepasst werden.
        Application.Wait Now + TimeSerial(0, 0, 3)
        While Dir(strFile & ".pdf") = "": Wend    'Warten bis die Datei da ist
        Set sh = CreateObject("Shell.application")
        sh.Open strFile & ".pdf"
        Set sh = Nothing
    
     
    myself84, 4. Januar 2015
    #1
  2. myself84 Erfahrener User

    Nachtrag :

    Aktuell gibt es keine Fehlermeldung beim Code.
    Bei bestehender PDF mit dem selben Namen wird einfach nichts gespeichert und mir die urspüngliche PDF angezeigt.
     
    myself84, 4. Januar 2015
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi Rene,

    versuche es mal so (ungetestet):

    Code:
    If Dir(strFile) <> "" Then Kill strFile
    Bis später,
    Karin
     
    Beverly, 5. Januar 2015
    #3
  4. myself84 Erfahrener User

    VBA speichern als PDF mit kontrolle der Namensgebung

    Hallo Karin,

    Danke für deinen Code , aber dieser macht nichts.
    Setze ich ihn zu früh ein weiß er den Namen noch nicht = Fehlermeldung If Dir(strFile) <> "" Then ""
    wenn ich ihn Später reinstelle, passiert garnichts .

    Der Code so wie ich das gesehen habe erstellt zuerst eine Bild datei, diese wandelt er dann in eine PDF um.
    Besteht schon eine solche mit dem selben Namen belässt er es auf der alten PDF und verwirft die neue.
    könnte ich dies nicht wo Einstellen das diese dann Überschrieben werden soll? wäre doch einfacher

    Gruß Rene
     
    myself84, 5. Januar 2015
    #4
  5. Beverly
    Beverly Erfahrener User
    Hi Rene,

    was steht genau in den Zellen, aus denen der Dateiname zusammengesetzt wird - fehlt eventuell die Dateiendung an der Variablen strFile?
    Die Codezeile muss unmittelbar nach der Zeile stehen, in der du den Dateinamen zusammensetzt und bevor die pdf-Datei erstellt wird.


    Ob du da irgendwelche Einstellungen beim Erstellen der Datei machen kannst, weiß ich nicht. Eventuell musst du in der Zeile
    Code:
    Shell...
    bei den Parametern "/a /d /x" das entsprechend verändern - dazu must du dort schauen, wo du den Code her hast.

    Bis später,
    Karin
     
    Beverly, 5. Januar 2015
    #5
  6. myself84 Erfahrener User
    Hallo Karin,

    die Abspeicherung erfolgt mit der Rechnungsnummer und dem Namen mit - getrennt "1234-Mustermann Max".
    Hab mit deinem Code nochmal probiert und so geht´s
    Code:
    If Dir(strFile) = "" Then
       Kill strFile & ".pdf"
       End If
    
    mit diesem Code löscht er mir die bestehenden PDF, Problem an diesem Code:

    er vergleicht "strFile" mit "" damit komm ich immer in diese if Schleife.
    Was bedeutet wenn die PDF nicht da ist bricht er mir bei Kill strg &".pdf" ab = Datei nicht gefunden

    Habe es mit etlichen Variationen versucht:

    Code:
    
    Dir(strFile & ".pdf") = strFile & ".pdf" Then
    Dir(strFile & ".pdf") = strFile Then
    Dir(strFile) = strFile & ".pdf" Then
    Dir(strFile) = strFile Then
    Dir(strFile) = <> Then Will er nicht haben 
       
    

    Gruß Rene
     
    myself84, 7. Januar 2015
    #6
  7. Beverly
    Beverly Erfahrener User
    Hi Rene,

    da du leider auf meine Frage (siehe meinen letzten Beitrag) nicht eingegangen bist, kann ich jetzt nur raten: in der Zelle steht der Dateiname ohne die Endung .pdf?

    Code:
    If Dir(strFile & ".pdf") <> "" Then Kill strFile & ".pdf"
    Bis später,
    Karin
     
    Beverly, 7. Januar 2015
    #7
  8. myself84 Erfahrener User

    VBA speichern als PDF mit kontrolle der Namensgebung

    Hallo Karin,

    Sorry dachte ich hatte es beantwortet, aber da meintest du was anderes.
    Nein die Endung steht nicht in der Zelle.
    Hast richtig geraten.

    Vielen Dank der Code funktioniert so bestens

    Danke
    Gruß Rene
     
    myself84, 7. Januar 2015
    #8
Thema:

VBA speichern als PDF mit kontrolle der Namensgebung

Die Seite wird geladen...
  1. VBA speichern als PDF mit kontrolle der Namensgebung - Similar Threads - VBA speichern PDF

  2. PDF mit Namen,Datum speichern im Zielordner

    in Microsoft Excel Hilfe
    PDF mit Namen,Datum speichern im Zielordner: Hallo, habe das Problem den Namen in Zelle D2, Vorname in Zelle D5 , das Datum steht in der Zelle B 10 und soll beim speichern so angezeigt werden (Max Mustermann 2023 Oktober) wie und wo muß ich...
  3. Per Makro bestimmten Bereich per PDF unter bestimmten Pfad speichern.

    in Microsoft Excel Hilfe
    Per Makro bestimmten Bereich per PDF unter bestimmten Pfad speichern.: Moin Zusammen, ich hoffe Ihr könnt mir helfen, denn ich verzweifle so langsam :( Ich habe bereits hier und im Internet gefühlt vieles durchgelesen, komme aber leider nicht weiter. Ich möchte...
  4. PDF mittels VBA speichern (MacOs 13.1)

    in Microsoft Excel Hilfe
    PDF mittels VBA speichern (MacOs 13.1): Hallo Zusammen, da ich hier schon einige Zeit mitlese und ich einige nützliche Threads gefunden habe, muss ich mich jetzt doch selber mit einem Problem an euch wenden und hoffe mir kann dabei...
  5. VBA Makro - PDF erstellen und speichern auf lokalem Netzwerk

    in Microsoft Excel Hilfe
    VBA Makro - PDF erstellen und speichern auf lokalem Netzwerk: Hallo zusammen, ich bin gerade dabei eine Excel Tabelle mit einem Makro zu erstellen, die von mehreren Personen genutzt wird. Jetzt stehe ich vor dem Problem, dass der angegebene Pfad nur auf...
  6. Excel Blatt als PDF speichern mit VBA

    in Microsoft Excel Hilfe
    Excel Blatt als PDF speichern mit VBA: Hallo Leute wie könnte ein VBA Code aussehen wenn ich ein Excel Blatt als PDF mit Datum und einem bestimmten Namen speichern möchte. Speicherort soll ein Ort sein in der nur die PDF's gespeichert...
  7. Bereich speichern als PDF speichern

    in Microsoft Excel Hilfe
    Bereich speichern als PDF speichern: Hallo Leute, leider habe ich ein Problem mit meinem VBA-Code. Bin leider noch nicht so fit darin. Ich habe einen VBA-Code erstellt, womit ein festgelegter Bereich eingeblendet, als PDF gespeichert...
  8. VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht

    in Microsoft Excel Hilfe
    VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht: Hallo zusammen, mein Name ist Marc, und ich bin neu hier... Ich habe ein Problem mit einem Makro und komme leider nicht weiter ☹ vielleicht könnt ihr mir helfen? In der angefügten Datei verwende...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden