Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UserForm als PDF Speichern [Bild Lösung]

Forumthread: UserForm als PDF Speichern [Bild Lösung]

UserForm als PDF Speichern [Bild Lösung]
07.05.2024 18:09:41
DasAmt88
Hallo,

ich habe ein User Formular (UserForm) angefertigt um Daten abzufragen. Das Formular wollte ich dann über

Private Sub CommandButton_Click()

UserForm1.printform
End Sub


ausgeben lassen. Normalerweise öffnet sich hier auf den Firmen Rechnern PDF24 und man kann dann das Formular als PDF Speichern.
Jedoch haben nicht alle Mitarbeiter PDF24 installiert so das diese Lösung weg fällt.

  • Gibt es eine andere Möglichkeit das Formular zu Exportieren? Dieses Enthält vorwiegend Eingabefelder und einige Checkboxen, vielleicht gibt es ja die Möglichkeit diese mit einer For-Schleife auszulesen.

  • Ich habe auch gelesen das es die Möglichkeit gibt eine Screenshot des Formulars zu machen, diesen dann zwischen zu Speichern und dann dieses (Objekt) auszulesen bzw. umzuwandeln?

  • Ich bin was VBA angeht noch recht neu, bin jedoch in Programmierung bewandert. Wollte mich aber nicht davor scheuen mich mal an VBA auszuprobieren und hier schien mir VBA für diesen Anwendungsfall Ideal.

    Ich weiß die Frage kommt hier sicherlich häufiger auf, meine bisherigen Google Anfragen waren hier allerdings eher erfolglos und die Chat-GPT Vorschläge waren ebenfalls nicht Zielführend.

    Ich hoffe mir kann hier einer schnell weiterhelfen.

    Beste Grüße
    Anzeige

    20
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: UserForm als PDF Speichern [Bild Lösung]
    07.05.2024 19:03:58
    ralf_b
    warum muß es denn ein Bild von einem Formular sein?
    Reicht es vielleicht auch die Daten in ein Tabellenblatt zu schreiben und dieses dann auszudrucken?
    AW: UserForm als PDF Speichern [Bild Lösung]
    07.05.2024 21:33:41
    DasAmt88
    Die bisherigen Antworten sind jetzt nicht wirklich hilfreich, hat jemand eine andere Idee?
    Das würde z. B. über...
    08.05.2024 10:39:13
    Case
    Hallo, :-)

    ... VBA gehen. Da ihr aber offensichtlich einige Einschränkungen habt, dürfte das nicht erlaubt sein?

    Servus
    Case
    Anzeige
    AW: Das würde z. B. über...
    08.05.2024 10:42:04
    DasAmt88
    Hallo,

    interessanterweise schon, ist abgeklärt mit der IT. Es soll auch demnächst diese Richtlinie gelockert werden. Ich arbeite halt bei einer KK und da läuft vieles noch anders ab.

    Deswegen ja die Frage ob es eine andere Möglichkeit gibt als oben aufgezeigt da diese Methode nur auf einigen Rechnern funktioniert.
    Anzeige
    Probiere mal...
    08.05.2024 13:54:55
    Case
    Hallo, :-)

    ... das Beispiel (getestet - bei mir läuft es): ;-)

    https://www.herber.de/bbs/user/169357.xlsb

    Du kannst statt ".PrintOut" auch ".PrintPreview" nehmen für eine Vorschau.

    Servus
    Case
    Anzeige
    AW: Probiere mal...
    08.05.2024 14:09:05
    Onur
    Und was genau ist jetzt der Unterschied zu .PrintForm (Ausser all dein Code, um das Wörtchen PrintForm zu ersetzen) ????
    Er kann und will nicht über den Drucker gehen. Also geht es nur über Speichern als PDF ohne DRUCKER.
    AW: Probiere mal...
    08.05.2024 14:28:30
    DasAmt88
    Danke für die Klarstellung @Onur. Ich würde gerne über den Drucker gehen, kann aber das aber leider bei einigen Rechnern nicht nutzen. Sonst würde ich das Forum nicht aufsuchen.
    Anzeige
    Du brauchst nur...
    08.05.2024 14:54:33
    Case
    Hallo, :-)

    diese Codezeile ( .PrintOut) ändern:

    .ExportAsFixedFormat 0, Environ("UserProfile") & "\Desktop\" & Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".") - 1)) & Format(Now, "_DD_MM_YYYY")


    Speichert im Moment auf dem Desktop. Kannst du anpassen. Auch den Namen. Denke das sollte zu schaffen sein. ;-.)

    Servus
    Case
    Anzeige
    AW: Du brauchst nur...
    08.05.2024 14:56:18
    Onur
    Damit dann die Userform auf 2 Seiten verteilt werden kann ?
    Dann so...
    08.05.2024 15:14:43
    Case
    ... der Spur nach: ;-)

    .PageSetup.Orientation = xlLandscape
    
    .ExportAsFixedFormat 0, Environ("UserProfile") & "\Desktop\" & Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".") - 1)) & Format(Now, "_DD_MM_YYYY")
    Anzeige
    AW: Dann so...
    08.05.2024 15:15:30
    Onur
    Längst erledigt......
    AW: Probiere mal...
    08.05.2024 14:16:50
    Onur
    Dein Code ist eigentlich ok - Sorry.
    Das Problem ist: Statt Printout musst du das (neue) Blatt nur noch als PDF speichern lassen.
    AW: UserForm als PDF Speichern [Bild Lösung]
    07.05.2024 22:09:05
    Onur
    Dann verlange doch einfach dein Geld zurück !!!
    Ich habe dir erklärt, wie man einen Screenshot der Userform macht, was du wohl nicht mal gelesen hast.
    Anzeige
    AW: UserForm als PDF Speichern [Bild Lösung]
    07.05.2024 22:28:26
    Onur
    Da du ja so klug bist, weisst du bestimmt auch, dass es nicht nur PD24-Drucker gibt.
    "Microsoft Print To PDF" hat Jeder.

    Userbild
    AW: UserForm als PDF Speichern [Bild Lösung]
    07.05.2024 22:33:52
    DasAmt88
    Mea culpa... entschuldige wenn ich da etwas zu forsch war.

    Ja da hast du recht, ABER leider ist diese Funktion auf vielen Rechnern deaktiviert aufgrund von Richtlinien. Deswegen ja der andere Ansatz bzw. die Frage.
    Anzeige
    AW: UserForm als PDF Speichern [Bild Lösung]
    07.05.2024 23:46:09
    Onur
    Die Funktion zu DRUCKEN (bzw Drucker auswählen) ist deaktiviert ??? Ernsthaft jetzt ???
    AW: UserForm als PDF Speichern [Bild Lösung]
    07.05.2024 19:12:52
    Onur
    PDF-Ducker als Drucker wählen und mit
    Userform.PrintForm

    im Code als PDF speichern lassen.
    AW: UserForm als PDF Speichern [Bild Lösung]
    07.05.2024 19:19:52
    Onur
    Oder mit "ALT Druck" kopieren und irgendwo einfügen......
    Anzeige
    AW: UserForm als PDF Speichern [Bild Lösung]
    07.05.2024 21:32:35
    DasAmt88
    Wie du oben Siehst habe ich das bereits versucht und auch dazu geschrieben wieso das nicht geht!
    ;
    Anzeige
    Anzeige

    Infobox / Tutorial

    UserForm als PDF speichern: So geht's


    Schritt-für-Schritt-Anleitung

    Um eine UserForm als PDF zu speichern, kannst du folgenden VBA-Code verwenden. Dieser Code ermöglicht es, die UserForm in ein PDF-Dokument zu exportieren, ohne dass ein Drucker benötigt wird:

    Private Sub CommandButton_Click()
        Dim pdfPath As String
        pdfPath = Environ("UserProfile") & "\Desktop\" & ThisWorkbook.Name & Format(Now, "_DD_MM_YYYY") & ".pdf"
        UserForm1.PrintForm ' Diese Zeile muss durch die Export-Anweisung ersetzt werden
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath, Quality:=xlQualityStandard
    End Sub

    Dieser Code speichert die UserForm als PDF auf deinem Desktop. Du kannst den pdfPath anpassen, um den Speicherort zu ändern.


    Häufige Fehler und Lösungen

    1. PDF-Drucker nicht installiert oder deaktiviert

      • Wenn der PDF-Drucker nicht verfügbar ist, kann es daran liegen, dass dieser auf einigen Rechnern deaktiviert ist. Stelle sicher, dass "Microsoft Print to PDF" oder ein ähnlicher virtueller Drucker aktiviert ist.
    2. Fehler in der Export-Anweisung

      • Prüfe, ob der Pfad zum Speichern des PDFs korrekt definiert ist. Verwende Environ("UserProfile") für den Desktop-Pfad, um Komplikationen zu vermeiden.
    3. UserForm wird nicht korrekt dargestellt

      • Stelle sicher, dass die UserForm die richtige Größe hat und keine Elemente über den Rand hinausgehen. Dies kann das Exportieren in ein PDF beeinträchtigen.

    Alternative Methoden

    • Screenshot der UserForm Du kannst einen Screenshot der UserForm erstellen, indem du die ALT-Taste gedrückt hältst und die Druck-Taste drückst. Danach kannst du das Bild in ein Bildbearbeitungsprogramm einfügen und als PDF speichern.

    • Daten in ein Tabellenblatt exportieren Eine andere Möglichkeit besteht darin, die Eingabedaten der UserForm in ein Excel-Arbeitsblatt zu schreiben und dieses Blatt dann als PDF zu speichern. Dies kann mit einem einfachen VBA-Skript erfolgen:

    Private Sub CommandButton_Click()
        Sheets("Datenblatt").Range("A1").Value = TextBox1.Value
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Pfad\zu\deinem\Dokument.pdf"
    End Sub

    Praktische Beispiele

    Hier sind einige Beispiele, wie du die UserForm in verschiedenen Szenarien einsetzen kannst:

    1. Benutzerdaten erfassen und speichern

      • Erfasse Benutzerdaten über Textfelder und Checkboxen in der UserForm und speichere diese in einem Excel-Arbeitsblatt oder als PDF.
    2. Formular für Rechnungen

      • Verwende die UserForm zur Erstellung von Rechnungen. Du kannst die Rechnungsdaten aus der UserForm in ein PDF exportieren, das dann an Kunden gesendet werden kann.

    Tipps für Profis

    • Benutzerdefinierte Dateinamen: Du kannst den Dateinamen dynamisch gestalten, indem du aktuelle Daten wie Uhrzeit oder Benutzername in den Dateinamen integrierst.
    • Layout anpassen: Stelle sicher, dass die UserForm auf verschiedenen Bildschirmgrößen gut aussieht, bevor du sie exportierst.
    • Fehlerbehandlung einbauen: Implementiere eine Fehlerbehandlung in deinen VBA-Code, um sicherzustellen, dass der Benutzer über mögliche Probleme informiert wird.

    FAQ: Häufige Fragen

    1. Wie kann ich sicherstellen, dass die UserForm korrekt in ein PDF exportiert wird? Achte darauf, dass alle Steuerelemente auf der UserForm gut angeordnet sind und keine über den Rand hinausgehen.

    2. Was mache ich, wenn der PDF-Drucker auf meinem Computer nicht verfügbar ist? Versuche, die Benutzerrechte zu überprüfen oder kontaktiere deine IT-Abteilung, um die Druckeroptionen zu aktivieren.

    3. Kann ich die UserForm auch in ein anderes Format speichern? Ja, du kannst die UserForm auch als Bild speichern und anschließend in ein PDF konvertieren, indem du Software wie Snipping Tool oder ähnliche Tools verwendest.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige