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. :)
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: .
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?
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
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)
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.
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)
Top
#8
Danke auch dir für die Lösung mit der Benennung, funktioniert genau so wie ich das wollte! :)
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
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! :)
Top


Gehe zu:


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