AW: Tabelle Drucken und Speichern, aber...
22.10.2009 06:47:33
fcs
Hallo Thomas,
unter Excel 2007 kannst du bei Installation aller Programmkomponenten PDF-Dateien direkt exportieren.
Dann kannst du z.B. die folgende noch etwas anzupassende Lösung verwenden.
Falls du die PDF-Dateien per PDF-Drucker erzeugst, dann muss du dich noch schlau machen, wie du den Dateinamen als Paramter von Excel aus an dein PDF-Programm übergen kannst.
Gruß
Franz
'Diese Prozeduren im VBA-Editor unter "DieseArbeitmappe" einfügen
'Erstellt unter Excel 2007, Windows Vista
Sub SpeichernPDF_Export()
'Aktives Blatt ggf. als PDF-Datei speichern und anzeigen
If MsgBox(Prompt:="Aktives Blatt als PDF-Datei exportieren?", _
Buttons:=vbQuestion + vbYesNo, Title:="PDF-Datei erstellen") = vbYes Then
'Pfad für PDF-Dokumente anpassen !!!
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="C:\Users\Public\Test\" & ActiveSheet.Range("L6").Text _
& Format(Now, "YYYYMMDD hhmmss") & "PDF.pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=False, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End If
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Auswahl As Long
Select Case ActiveSheet.Name
Case "TabelleXYZ", "BlattABC"
'Liste der Blätter die "normal" gedruckt werden sollen
Case Else
Cancel = True 'Dadurch wird der Standard-Ausdruck abgebrochen
Application.EnableEvents = False
Auswahl = MsgBox(Prompt:="Aktives Blatt drucken (Ja), Vorschau (Nein) oder Abbrechen?", _
Buttons:=vbQuestion + vbYesNoCancel, Title:="Blatt drucken")
Select Case Auswahl
Case vbYes
ActiveSheet.PrintOut
Call SpeichernPDF_Export
Case vbNo
ActiveSheet.PrintPreview
Case vbCancel
End Select
Application.EnableEvents = True
End Select
End Sub