Thema Datum  Von Nutzer Rating
Antwort
Rot PDF per VBA, vermeiden von Leerseite
07.06.2019 12:06:33 StefanMat
NotSolved
07.06.2019 12:12:30 Goofy
NotSolved
07.06.2019 12:23:33 Gast11087
NotSolved
07.06.2019 12:43:45 Goofy
NotSolved
07.06.2019 12:44:22 StefanMat
Solved

Ansicht des Beitrags:
Von:
StefanMat
Datum:
07.06.2019 12:06:33
Views:
26
Rating: Antwort:
  Ja
Thema:
PDF per VBA, vermeiden von Leerseite

Hallo liebe VBA-Gemeinde,

Ich lasse per VBA-Code aus einer Excel-tabelle ein PDF erzeugen, welches dann per Email verschickt wird. Das PDF sollte lediglich eine Seite umfassen, aber mir wird immer eine zweite, leere Seite erzeugt. Wie bekomme ich das weg?

Hier der Code:

Public Sub TabelleAlsPdf()

Dim olApp      As Object
Dim AWS        As String
Dim VarAWSPDF As String
Dim olOldBody  As String
Dim strAddress As String
Dim VarKW As String
Dim VarJahr As String
Dim i          As Integer

Rem Pfad für PDF festlegen
VarKW = Tabelle1.Cells(2, 3)
VarJahr = Tabelle1.Cells(2, 2)
AWS = "V:\winhebuabrech\Preismitteilung\Preismitteilung KW " & VarKW & ", " & VarJahr
VarAWSPDF = AWS & ".pdf"

    Rem Empfängerliste zusammenstellen
        For i = 1 To Tabelle12.Range("A" & Rows.Count).End(xlUp).Row
            If strAddress = "" Then
               strAddress = Tabelle12.Cells(i, 1)
            Else
               strAddress = strAddress & ";" & Tabelle12.Cells(i, 1)
            End If
        Next i


Rem Tabelle2 als PDF speichern
Worksheets("Preismitteilung").PageSetup.CenterHorizontally = True
Worksheets("Preismitteilung").PageSetup.Orientation = xlPortrait
Worksheets("Preismitteilung").PageSetup.Zoom = 110
Worksheets("Preismitteilung").PageSetup.LeftMargin = Application.InchesToPoints(0.8)
Tabelle11.Range("a1:h50").ExportAsFixedFormat Type:=xlTypePDF, Filename:=AWS, Quality:=xlQualityStandard, _
                                                    IncludeDocProperties:=False, IgnorePrintAreas:=False, _
                                                    OpenAfterPublish:=False

 Dim objOutlook As Object
 'öffnet Outlook
        Dim objMail As Object
        Set objOutlook = CreateObject("Outlook.Application")
        Set objMail = objOutlook.CreateItem(0)
        
        With objMail
        .GetInspector.Display
        .To = strAddress 'Empfänger
        .Subject = "Preismitteilung" 'Betreff
        .Body = "Sehr geehrte Damen und Herren," & Chr(10) & Chr(10) & "im Anhang finden Sie die Preismitteilung für die KW " & VarKW & " des Jahres " & VarJahr & "." & Chr(10) & Chr(10) & "Mit freundlichen Grüßen" & Chr(10) 'Mailtext
        .Attachments.Add VarAWSPDF 'Datei anhängen
        .Display
    End With

End Sub

 

Um das Dokument zentiert darzustellen musste ich etwas mit zoom und margin tricksen, da das horizontale zentrieren iwie nicht klappt..

 

Herzlichen Dank für die Hilfe

 

Stefan


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst genau und ausführlich
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
  • Bitte markieren Sie Ihre Anfrage als erledigt wenn Ihnen geholfen wurde
Thema: Name: Email:

 
 

Thema Datum  Von Nutzer Rating
Antwort
Rot PDF per VBA, vermeiden von Leerseite
07.06.2019 12:06:33 StefanMat
NotSolved
07.06.2019 12:12:30 Goofy
NotSolved
07.06.2019 12:23:33 Gast11087
NotSolved
07.06.2019 12:43:45 Goofy
NotSolved
07.06.2019 12:44:22 StefanMat
Solved