AW: VBA PDF von nur einem Tabellenblatt
03.11.2016 22:55:17
nur
Hallo Andi,
eine inensive suche in der RECHERCHE hätte dir eigentlich was brauchbares liefern können.
Ansonsten kannst du mit dem folgendne Makro dein Glück versuchen.
Gruß
Franz
Sub PDF_Drucken_Stueckliste()
Call PDF_Drucken(objSheet:=ActiveWorkbook.Sheets("Stückliste"))
End Sub
Sub PDF_Drucken(objSheet As Object, _
Optional ByVal bolZeit As Boolean = False, _
Optional ByVal varPfad As Variant, _
Optional ByVal varDefault As Integer = 1, _
Optional ByVal bolOpen As Boolean = False)
'Erstellt ein PDF des Blattes mit der Option auch zu Drucken
Dim strFilePDF As String, intAuswahl As Integer
If IsMissing(varPfad) Then
If objSheet.Parent.Path = "" Then
MsgBox "Vor der Ausführung des Makros muss die aktive Datei gespeichert " _
& "werden, damit das Verzeichnis ermittelt werden kann!", _
vbInformation + vbOKOnly, "Erstellen PDF"
Exit Sub
Else
varPfad = objSheet.Parent.Path
End If
End If
If Dir(varPfad, vbDirectory) = "" Then
MsgBox "Das Verzeichnis" & vbLf & varPfad & vbLf & "existiert nicht!", _
vbOKOnly + vbInformation, "Speichern PDF"
Else
strFilePDF = varPfad & Application.PathSeparator & objSheet.Name & " " _
& Format(Now, IIf(bolZeit, "YYYY-MM-DD hhmmss", "YYYY-MM-DD")) & ".pdf"
intAuswahl = Application.InputBox("1 = Speichern PDF" & vbLf _
& "2 = Speichern PDf und drucken", _
"Speichern PDF / Drucken - Blatt: " & objSheet.Name, _
varDefault, Type:=1)
Select Case intAuswahl
Case 0
'Abgebrochen
Case 1 'PDF speichern
objSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFilePDF, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
_
OpenAfterPublish:=bolOpen
MsgBox "PDF erstellt" & vbLf & strFilePDF, vbOKOnly, _
"Speichern PDF - Blatt: " & objSheet.Name
Case 2 'PDF speichern und drucken
objSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFilePDF, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
_
OpenAfterPublish:=bolOpen
objSheet.PrintOut
MsgBox "PDF erstellt und gedruckt" & vbLf & strFilePDF, vbOKOnly, _
"Speichern PDF / Drucken - Blatt: " & objSheet.Name
End Select
End If
End Sub