Thema Datum  Von Nutzer Rating
Antwort
Rot Anstelle einer PDF Aufteilung Daten in Excel aufteilen
19.04.2022 15:59:04 Hülstd
NotSolved
19.04.2022 22:01:10 ralf_b
NotSolved
19.04.2022 22:26:35 Hülstd
NotSolved

Ansicht des Beitrags:
Von:
Hülstd
Datum:
19.04.2022 15:59:04
Views:
657
Rating: Antwort:
  Ja
Thema:
Anstelle einer PDF Aufteilung Daten in Excel aufteilen

Hallo,

ich habe kaum VBA Erfahrung aber es irgenwie geschafft ein Tool zu erstellen mit dem ich Exellisten verteilen und per Mail als PDF versenden kann. Auch wenn es einfacher klingt habe ich keine Ahnung wie ich anstelle von PDF einzelne xlsx Dateien per Mail versende. Immer wenn ich meinen Code umschreibe laufe ich auf Error. Ich denke es ist einfach aber benötige Hilfe. Der nachfolgende Code zur Erstellung der PDF muss anstelle der PDF XLSX erstellen. Den restlichen Code habe ich nur teilweise kopiert da ich mir sicher bin das eigentlich nur die rot gekennzeichnetten Stellen"geändert" werden müssen.

 

Function SendMail(EMailTo As String, MailSubject As String) As Boolean

  Static CurrentNumber As Integer
  CurrentNumber = CurrentNumber + 1

  Dim SheetNameConfiguration As String
  SheetNameConfiguration = "Konfiguration"
    
  Dim PathPDFFiles As String
  PathPDFFiles = Sheets(SheetNameConfiguration).Range("B2").Value & IIf(Right(Sheets(SheetNameConfiguration).Range("B2").Value, 1) = "\", "", "\")
    
  Dim sPdfDatei As String
  Dim OutApp As Object
  Dim OutMail As Object

  On Error GoTo ErrorHandler
  
  ' unter welchem Namen sollen die PDF-Dateien abgespeichert werden?
  sPdfDatei = PathPDFFiles & "Diasauswertungen " & Format(Now, "dd.mm.yyyy hh_nn_ss") & " " & CurrentNumber & ".pdf"

  ' speichert das aktuelle Blatt (=ActiveSheet) als PDF
    ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=sPdfDatei, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

  FileCopy sPdfDatei, PathPDFFiles & "Diasauswertungen.pdf"
  
  ' Bezug zu Outlook herstellen...
  Set OutApp = CreateObject("Outlook.Application")

  ' ...damit wir eine neue E-Mail erzeugen können
  Set OutMail = OutApp.CreateItem(0)

  ' Werte den Eigenschaften zuweisen...
  OutMail.To = EMailTo
  OutMail.CC = ""
  OutMail.BCC = ""
  OutMail.Subject = "SQL: " & MailSubject
  OutMail.Body = "Guten Tag," & vbNewLine & _
                vbNewLine & _
                "für Sie zur Bearbeitung." & vbNewLine & _
                vbNewLine & _
                "Mit freundlichem Gruß." & vbNewLine & _
                vbNewLine & _
                vbNewLine & _
                vbNewLine & _
                "Bei Fragen, bitte Absender kontaktieren." & vbNewLine & vbNewLine

  ' Anhang hinzufügen: Welchen? Dann also beide Dateien!
  OutMail.Attachments.Add PathPDFFiles & "Diasauswertungen.pdf"

  ' ...und abschicken
  OutMail.Send

  ' Objekte sauber auflösen
  Set OutMail = Nothing
  Set OutApp = Nothing

  Kill PathPDFFiles & "Diasauswertungen.pdf"
  SendMail = True
  Exit Function

ErrorHandler:
   If Len(Dir(PathPDFFiles & "Diasauswertungen.pdf")) > 0 Then
      Kill PathPDFFiles & "Diassauswertungen.pdf"

   End If
  
  SendMail = False

End Function


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • 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
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • 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

Thema Datum  Von Nutzer Rating
Antwort
Rot Anstelle einer PDF Aufteilung Daten in Excel aufteilen
19.04.2022 15:59:04 Hülstd
NotSolved
19.04.2022 22:01:10 ralf_b
NotSolved
19.04.2022 22:26:35 Hülstd
NotSolved