Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

pdf trotz Quality:=xlQualityMinimum viel zu groß

Betrifft: pdf trotz Quality:=xlQualityMinimum viel zu groß von: Barbara Charon
Geschrieben am: 06.04.2014 18:45:22

Hallo und Guten Abend,
da ich völlig neu hier bin, möge man mir irgendwelche Verstöße verzeihen.
Recherchiert habe ich nun schon eine Menge, aber keine Informationen gefunden.
Ich verwende den folgenden Code um aus einem Arbeitsblatt eine pdf zu erzeugen und per Email zu verschicken, das funktioniert auch völlig ohne Probleme.
Nur,
die erzeugte pdf - Datei wird nicht kleiner als 512 kb, wogegen sie beim Druck über pdf-Xchange nur 19 kb hat.
Ich komme einfach nicht dahinter, wie
Quality:=xlQualityMinimum definiert wird und ob man durch die Veränderung von Grundeinstellungen Einfluss nehmen kann.
Für Hilfe wäre ich sehr dankbar.
Bin absoluter VBA Neuling und bitte daher um Nachsicht.
Der Code


Public Sub Blatt_Email_aufrufen()
      Worksheets("email").Select
    If Err = 0 Then
        Call CommandButton2_Click
    End If
End Sub

Sub CommandButton2_Click()
'Drucken und Senden Button

Range("a1:I55").Select

Dim strFileName As String
strDateiname1 = Range("RE!B23").Value
'Kundennamen
strDateiname2 = Range("RE!E23").Value
'Seriennummer der Maschine

strFileName = "C:\users\user\test\" & strDateiname1 & "." & strDateiname2 & ".pdf"
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strFileName, _
Quality:=xlQualityMinimum, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False


Dim Nachricht As Object, OutApp As Object
Dim AWS As String
Set OutApp = CreateObject("Outlook.Application")
AWS = strFileName
'InitializeOutlook = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Range("BlattName!A17")
' Empfänger kommt in das Feld B10 rein
.Bcc = ""
' Blind empfänger der Email z.B. Rechnungsstelle
.Subject = "..." & "" & Range("email!A17")
'Datum der Ausführung
.Attachments.Add AWS
'Hier wird eine normale Text Mail erstellt
'Hier wird die HTML Mail erstellt
.HTMLBody = "Sehr geehrte(r)" & " " & Range("BlattName!A6") & Range("BlattName!A4") 
Set .SendUsingAccount = .Session.Accounts.Item("vvv") 'Sendekonto wählen. Sendekonto in Anfü _
hrungszeichen
' B)= Kontakt des Kunden
'Hier wird die Mail nochmals angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt
'.Send
'Hier könnte die Datei wieder gelöscht werden
'Kill AWS
End With
'OutApp.Quit (Damit das Outlook nicht geschlossen wird)
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub


  

Betrifft: AW: pdf trotz Quality:=xlQualityMinimum viel zu groß von: mumpel
Geschrieben am: 06.04.2014 23:28:17

Hallo!

Du kannst bei "ExportAsFixedFormat" keinen Einfluss auf die Größe nehmen. Die unterschiedlichen PDF-Programme liefert auch höchst unterschiedliche Ergebnisse. Möchtest Du etwas kleinere Dateien musst Du ein anderes PDF-Programm nehmen, z.B. den kostenlosen PDF-Creator. Bei diesem ist aber die Programmierung etwas aufwendiger.

Gruß, René