Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA PDF Exportieren
#1
Hallo zusammen,

ich hab nochmal eine vermutlich easy Frage für die VBA Experten unter uns.

Folgendes würde ich gerne erreichen:

Ich würde gerne den Zellbereich B2:X48 als PDF Exportieren und in einem Ordner abspeichern.

Und zwar als "Nur Auswahl drucken", "Querformat" und "Blatt auf einer Seite darstellen".

Die Bezeichnung des Dokument sollte wie folgt automatisch gewählt werden:

Name_Datum_Lieferscheinnummer.pdf

dabei sollen die Werte aus der Excel entnommen werden, sprich:

G6_G8_G12.pdf

Das Makro würde ich dann einem Button Element zuweisen.

Ich hoffe, dass ich mein Problem verständlich erklärt habe. :)
Antworten Top
#2
Hallo,

Zitat:Das Makro würde ich dann einem Button Element zuweisen.

fein, daß Du bereit bist, Dich auch in Dein eigenes Projekt einzubringen :05: .

Vorerst hätte ich aber gerne Deine Datei gesehen :19: .
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#3
Mist ich hätte den Satz doch lieber weg lassen sollen :D

Leider handelt es sich um eine unternehmensinterne Datei, die ich nicht rausgeben darf sonst hätte ich das gerne sofort gemacht. Ist es ohne Sichtung dieser Datei nicht möglich?
Antworten Top
#4
Wenn Datei so geheim ist und nicht anonymisiert werden kann, dann zeichne die nötigen Schritte als Makro auf. Danach poste diesen Code hier und er kann dann überarbeitet werden.
Deine Dateinamen kannst du durch Verbinden der Zellwerte im Code später erzeugen, nutz beim Aufzeichnen nur 1 Zellwert.
Mit freundlichen Grüßen  :)
Michael
Antworten Top
#5
Moin!
Ich bin durchaus der Meinung, dass eine Datei hier nix bringt.

Zitat:Ich würde gerne den Zellbereich B2:X48 als PDF Exportieren und in einem Ordner abspeichern.
Nutze die Range.Exp…-Methode:
https://msdn.microsoft.com/de-de/vba/exc...xcel?f=255&MSPPError=-2147217396

Zitat:Die Bezeichnung des Dokument sollte wie folgt automatisch gewählt werden:
Name_Datum_Lieferscheinnummer.pdf
dabei sollen die Werte aus der Excel entnommen werden, sprich:
G6_G8_G12.pdf
Wo genau siehst Du das Problem, hier eine Verkettung mittels & vorzunehmen?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Ich habe eine einfache und funktionierende Lösung gefunden. Falls es jemand interessiert:

Sub Test_Export()
'
'Querformat einstellen
Sheets("Tabellenblatt").PageSetup.Orientation = 2 'Querformat

'Format automatisch anpassen
Sheets("Tabellenblatt").PageSetup.Zoom = False
Sheets("Tabellenblatt").PageSetup.FitToPagesWide = 1
Sheets("Tabellenblatt").PageSetup.FitToPagesTall = 1


'Tabelle als PDF speichern
Sheets("Tabellenblatt").Range("B2:X48").ExportAsFixedFormat xlTypePDF, _
Filename:="C:\Users\name\Desktop\Zielordner\Dateinamen.pdf", _
Openafterpublish:=True


End Sub

Jetzt versuche ich noch eine Funktion für den Dateinamen zu integrieren.
Antworten Top
#7
Hallo Kugelschreiber,

Danke, dass Du Deine Lösung postest, macht leider nicht jeder.

Ein Tipp für den Namen, im Prinzip:
Filename:="C:\Users\name\Desktop\Zielordner\" & Range("G6") & "_" & …usw.... & ".pdf"
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Danke auch dir für die Lösung mit der Benennung, funktioniert genau so wie ich das wollte! :)
Antworten Top
#9
Vielleicht reicht:


Code:
Sub M_snb()
    with Sheets("Tabellenblatt")
       .PageSetup.Orientation = 2
       .Range("B2:X48").ExportAsFixedFormat 0, "G:\OF\snb.pdf"
    end with
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#10
Hallo zusammen,

ich würde gerne nochmal eine Optimierung an dem Code vornehmen.

Der untenstehende Code, um ein Tabellenblatt als PDF zu exportieren funktioniert super, allerdings habe ich natürlich das kleine Problem mit dem absoluten Pfad. Sprich wird die Excel unter einem anderen Nutzernamen benutzt, funktioniert das Ganze nicht mehr.

Nun denke ich das es am Besten wäre, wenn der Nutzer selbst das Ziel auswählen kann, sprich mit "Speichern unter". Hier hätte ich gerne, dass trotzdem die Benennung nach definierten Zellbezügen vorgeschlagen wird. (Bsp: " & Range("G6") & "_" & Range("G10") & "_" & Range("G8") & ".pdf)

So muss der Nutzer lediglich den Zielordner auswählen und speichern klicken.


Natürlich habe ich schon eine Weile im Internet gestöbert und verschiedene Lösungsvorschläge ausprobiert,konnte mein Problem aber leider noch nicht lösen bzw. bin unsicher wo ich diese Codeschnipsel einfügen sollte.


Hier der aktuelle Code mit absolutem Zellbezug:


Sub PDF_Desktop()
'
'Querformat einstellen
Sheets("Beispiel").PageSetup.Orientation = 2 'Querformat

'Format automatisch anpassen
Sheets("Beispiel").PageSetup.Zoom = False
Sheets("Beispiel").PageSetup.FitToPagesWide = 1
Sheets("Beispiel").PageSetup.FitToPagesTall = 1


'Tabelle als PDF speichern
Sheets("Beispiel").Range("B2:X48").ExportAsFixedFormat xlTypePDF, _
Filename:="C:\Users\mustermann\Desktop\beispielordner\" & Range("G6") & "_" & Range("G10") & "_" & Range("G8") & ".pdf", _
Openafterpublish:=True


End Sub


Vielen Dank im Voraus für eure Hilfe! :)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste