'xl-VBasic: Tabellenblatt als einfaches PDF in Datei exportieren ' 'Warnung! Vorliegendes Makro ist eine grob getestete Minimalversion 'ohne ausreichende Fehlerbehandlung. Das Makro kann mittels Hotkey 'gestartet werden (s.u.), sofern ein Tabellenblatt aktiv ist und die 'letzte Eingabe mit beendet wurde oder sofern der Name einer 'Tabelle auf andere Weise im Makro festgelegt wird. Das PDF wird im 'Pfad der Mappe gespeichert, die das Modul mit diesem Makro enthält. 'Eine schon existierende, gleichnamige PDF-Datei wird ohne Nachfrage 'überschrieben. Eine Tabelle ohne Inhalt hat keine Seiten, dies wird 'evtl. beim PDF-Export oder beim Öffnen des PDF als Fehler gemeldet. Option Explicit 'Als Makro-ShortcutKey eine nicht belegte Taste wählen, hier "q". 'Aufruf des Makro erfolgt mittels Tastenkombination Const MakroKey$ = "q" Sub Auto_Open() 'wird beim Öffnen der Mappe automat. aufgerufen 'Hotkey zum Aufruf von Makro WorksheetPdfExport() definieren: Application.MacroOptions Macro:="WorksheetPdfExport", _ Description:="", ShortcutKey:=MakroKey$ writeln End Sub Sub writeln() MsgBox "Zum PDF-Export bitte gewünschte Tabelle aktivieren, " _ & Chr(13) & Chr(10) & "dann Tasten und <" & MakroKey$ & _ "> drücken. Viel Spaß damit!", vbOKOnly, ThisWorkbook.Name End Sub Sub WorksheetPdfExport() Dim WsheetName$, WbookName$, WbookPath$, PdfName$, PdfFullPath$ 'Tabellenblattname ermitteln WsheetName$ = ActiveSheet.Name 'Name der z.Zt. aktiven Tabelle ' Alternativen: 'WsheetName$ = "Tabelle1" 'Name einer existierenden Tabelle 'WsheetName$ = Worksheets(1).Name 'Tabelle(1) in Worksheets-Liste 'Die 1. Tabelle in der Liste ist nicht immer "Tabelle1"! 'Tabellenblatt nach PDF-Datei exportieren WbookName$ = ThisWorkbook.Name 'Name dieser Arbeitsmappe WbookPath$ = ThisWorkbook.Path 'Pfad dieser Arbeitsmappe PdfName$ = WsheetName$ & ".pdf" 'PDFname = Tabellenname.pdf PdfFullPath$ = WbookPath$ & "\" & PdfName$ 'Vollpfad = Pfad\Datei.pdf With Workbooks(WbookName$) 'PDF-Export .Worksheets(WsheetName$).ExportAsFixedFormat Type:=xlTypePDF, _ Filename:=PdfFullPath$, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, _ OpenAfterPublish:=True 'PDF-Datei öffen: True/False = Ja/Nein End With End Sub 'end-of-file