Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1676to1680
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
VBA Druckbutton Ausgabe als PDF
19.02.2019 15:19:55
Micha
Hallo Zusammen,
ich versuche in meinen Excel einen Button zu integrieren der folgendes machen soll (Button ist bereits da und funktioniert auch).
Der Rechner ist vorbelegt mit einem Drucker. Mit "klick" auf den Button soll das Dokument (Tabellenblatt / blätter) aber nicht aktiv als Blatt sondern als PDF ausgegeben werden. Iwie funktioniert das bei mir aber nicht.
Hintergrund: Das Excel sollen auch andere nutzen können und die Vorgehensweise soll gleich sein. Nämlich "klick" und Excel generiert eine PDF Dokument.
Könnt ihr helfen?
Vielen Dank
Micha

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Druckbutton Ausgabe als PDF
19.02.2019 15:54:09
Dominik
Hallo Micha,
ich verwende folgenden Code für PDF's erstellen:
Variablendeklaration

Dim pdfName As String
Dim pdfOpenAfterPublish As Boolean
Dim olApp As Object
Dim olOldBody As String
Code für die Abfrage ob die Datei nach dem Erstellen geöffnet werden soll:

If MsgBox("Soll die PDF-Datei nach dem Erstellen angezeigt werden?", vbYesNo, "PDF anzeigen?") = _
vbYes Then pdfOpenAfterPublish = True
Application.ScreenUpdating = False
Code für die Erstellung der PDF
  ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
Quality:=xlQualityStandard, IncludeDocProperties:=False,  _
IgnorePrintAreas:=False, _
OpenAfterPublish:=IIf(pdfOpenAfterPublish, True, False)
Grüße
Domi
Anzeige
AW: VBA Druckbutton Ausgabe als PDF
19.02.2019 15:58:14
Nepumuk
Hallo Domi,
warum schaltest du über eine Variablen die nur den Wert True oder False enthalten kann nochmal mit Iif auf True bzw. False?
Gruß
Nepumuk
AW: VBA Druckbutton Ausgabe als PDF
19.02.2019 16:07:02
Dominik
Hallo Nepumuk,
ist es nicht Sinnvoll?
Grüße
Domi
AW: VBA Druckbutton Ausgabe als PDF
19.02.2019 16:12:45
Nepumuk
Hallo Domi,
du machst aus True True und aus False False also warum nicht einfach den Wert der Variablen selbst benutzen?
Darum: OpenAfterPublish:=pdfOpenAfterPublish
Gruß
Nepumuk
AW: VBA Druckbutton Ausgabe als PDF
20.02.2019 10:15:04
Micha
Hi,
iwas mache ich falsch.
Bei "klick" auf den Button druckt er immernoch aktiv im Drucker und nicht als PDF.
Hier mein Code:
Private Sub CommandButton1_Click()
ActiveSheet.PageSetup.PrintArea = "$A$1:$L$90"
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea = False
End Sub

Sub pdf()
Dim pdfName As String
Dim pdfOpenAfterPublish As Boolean
Dim olApp As Object
Dim olOldBody As String
If MsgBox("Soll die PDF-Datei nach dem Erstellen angezeigt werden?", vbYesNo, "PDF anzeigen?") = _
vbYes Then pdfOpenAfterPublish = True
Application.ScreenUpdating = False
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=pdfOpenAfterPublish
End Sub
Anzeige
AW: VBA Druckbutton Ausgabe als PDF
19.02.2019 15:54:58
Nepumuk
Hallo Micha,
und wo liegt jetzt das Problem?
Gruß
Nepumuk
AW: VBA Druckbutton Ausgabe als PDF
20.02.2019 10:41:54
Micha
Hallo Nepumuk,
ganz einfach eigentlich :-)
Mein Code muss einen Fehler haben.
Wenn ich auf den Button klicke druckt er KEIN .pdf sonder das Blatt Papier im Drucker.
AW: VBA Druckbutton Ausgabe als PDF
20.02.2019 11:25:42
Nepumuk
Hallo Micha,
Test mal:
Private Sub CommandButton1_Click()
    Dim strPath As String
    strPath = ThisWorkbook.Path & "\" & ActiveSheet.Name
    ActiveSheet.PageSetup.PrintArea = "$A$1:$L$90"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPath, _
        Quality:=xlQualityStandard, IncludeDocProperties:=False, _
        IgnorePrintAreas:=False, OpenAfterPublish:=False
    ActiveSheet.PageSetup.PrintArea = ""
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA Druckbutton Ausgabe als PDF
20.02.2019 14:03:09
Micha
Hallo Nepomuk,
iwas tut er. Leider sehe ich aber keine PDF Datei oder ein Druck.
Es kommt ein kleines Fenster mit Titel "wird veröffentlicht..." aber keine Datei.
Weder als Anzeige zum speichern noch als Ablage auf dem Desktop (was der optimal Fall wäre).
Grüße Micha
AW: VBA Druckbutton Ausgabe als PDF
20.02.2019 14:09:16
Nepumuk
Hallo Micha,
momentan wird die PDF-Datei im selben Verzeichnis gespeichert in der sich die Mappe befindet. Als Dateiname wird der Name der Tabelle benutzt. Was willst du genau? Einen Dialog zum speichern + Eingabe des Dateinamens, oder gleich unter einem bestimmten Namen auf dem Desktop speichern?
Gruß
Nepumuk
Anzeige
AW: VBA Druckbutton Ausgabe als PDF
20.02.2019 14:14:49
Micha
Hallo Nepomuk,
iwas tut er. Leider sehe ich aber keine PDF Datei oder ein Druck.
Es kommt ein kleines Fenster mit Titel "wird veröffentlicht..." aber keine Datei.
Weder als Anzeige zum speichern noch als Ablage auf dem Desktop (was der optimal Fall wäre).
Grüße Micha
AW: VBA Druckbutton Ausgabe als PDF
20.02.2019 22:35:29
Daniel
Hallo Micha,
wenn du mit PrintOut arbeiten willst, musst du vorher den Drucker ändern. Vom richtigen Drucker zum pdf-Drucker. Gehe wie folgt vor:
1. Strg + P um ins Drucmenü zu gelangen
2. Als Drucker den Drucker "Microsoft Print to PDF" (kannst ja mal drucken um zu gucken, ob du manuel ein pdf erzeugt bekommst)
3. Im VBA Editor im Direktbereich ?ActivePrinter eingeben. Als Antwort solltest du soetwas bekommen: Microsoft Print to PDF auf Ne02: oder so ähnlich.
4. In deinem Makro vor dem .PrintOut den richtigen Drucker (pdf) einstellen: ActivePrinter = "Microsoft Print to PDF auf Ne02:" DONE
Anmerkung: am besten vorher den alten ActivePrinter noch in einer string Variablen speichern und nacher zurücksetzen.
Viel Erfolg.
Daniel
Anzeige
AW: VBA Druckbutton Ausgabe als PDF
21.02.2019 10:27:49
Micha
Hi Daniel,
bei funktioniert das einfach nicht. Ich bin glaube echt zu unbeholfen was das betrifft.
Sorry.
Mein Code:
Private Sub CommandButton1_Click()
ActiveSheet.PageSetup.PrintArea = "$A$1:$J$90"
ActiveSheet.ActivePrinter = "PDF-XChange Lite:" Done. PrintOut
ActiveSheet.PageSetup.PrintArea = False
End Sub
Allerdings schreibt er dann, dass ein Anweisungsende fehlt.
AW: VBA Druckbutton Ausgabe als PDF
21.02.2019 13:42:46
Daniel
Hey Micha,
sorry, habe mich wohl unklar ausgedrückt ;-)
Versuch mal die einfachste Form so:
Private Sub CommandButton1_Click()
ActiveSheet.PageSetup.PrintArea = "$A$1:$J$90"
ActivePrinter = "PDF-XChange Lite:"
ActiveSheet.PrintOut
End Sub

Anzeige
AW: VBA Druckbutton Ausgabe als PDF
21.02.2019 14:13:48
Micha
Kein Thema Daniel,
bin froh, wenn ich überhaupt Hilfe bekomme.
Aber leider muss ich dich enttäuschen. So funktioniert es auch nicht.
Kommt ein Laufzeitfehler "1004" "Debuggen"
?
Grüße
AW: VBA Druckbutton Ausgabe als PDF
22.02.2019 08:59:15
Daniel
Hallo Micha,
es sieht mir so aus als ob dein Drucker falsch ist. Du musst ihn über das VBA Direktfenster mit dem Befehl ?ActivePrinter erfragen. Dazu stellst du den Drucke zunächst ganz normal im Druckmenü Strg + P ein. Dann öffnest du über die Tastenkombination Alt + F11 den VBA Editor. Dort kannst du mit Strg + G das Direktfenster einblenden. Dort gibst du einfach ?ActivePrinter ein und bestätigst mit der Eingabetaste. Du solltest als Rückgabewert deinen Drucker mit einem Zusatz "auf Ne03" oder so ähnlich erhalten.
Das musst du dann im Code so einfügen:
ActivePrinter = "Rückgabewert"
Hier nochmal ein Screenshot:
Viel Erfolg!
Daniel
Anzeige
AW: VBA Druckbutton Ausgabe als PDF
22.02.2019 12:00:31
Micha
Hallo Daniel,
perfekt!!! So hat es jetzt funktioniert.
Vielen vielen Dank.

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige