Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1672to1676
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wilma k Excel Datei als PDF ...

Wilma k Excel Datei als PDF ...
01.02.2019 17:42:22
wilma
Guten Abend,
ich habe durch das Forum mal dieses Makro gefunden:
Sub Orginal_Excel_Workbook_via_Outlook_Senden()
Dim MyMessage As Object, MyOutApp As Object
Dim Qe As Integer
Dim AWS As String
'Prüfen ob die Datei schon mal gespeichert wurde
If Right(ThisWorkbook.Name, 3)  "xls" Then
' Nein > Speicherdialog aufrufen
' Application.Dialogs(xlDialogSaveAs).Show
Else
' Speichern
' ThisWorkbook.Save
End If
'Aktive Arbeitsmappe wird als mail gesendet
'Übergabe des Mappennames an die Variable
AWS = ThisWorkbook.FullName               'altes Orginal
'Outlook Object erstellen
Set MyOutApp = CreateObject("Outlook.Application")
'Outlook Nachricht erstellen
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
'Empfänger
'  .To = "irgendwer@provider"
.To = ""
'Betreff
'.Subject = "Test 13.08.2015 für Daners" & Date & Time
.Subject = "Rechnung: " '& ActiveSheet.Name
.Attachments.Add AWS
'Hier wird ein normaler Text erstellt
.Body = "Hier den Text einsetzen..."
.Display
'Hier wird die Mail gleich in den Postausgang gelegt und gesendet
'.Send
End With
'Variablen leeren
Set MyOutApp = Nothing
Set MyMessage = Nothing
End Sub
Meine aktive Datei wird in Outlook gesendet.
Ich möchte gern die aktive Datei als PDF versenden.
Was muss da geändert werden ?
gruß
wilma k

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wilma k Excel Datei als PDF ...
01.02.2019 18:25:52
Nepumuk
Hallo Wilma,
welchen Namen soll das PDF haben und soll es im Anschluss wieder gelöscht werden?
Gruß
Nepumuk
AW: Wilma k Excel Datei als PDF ...
01.02.2019 18:33:34
wilma
Guten Abend Nepumuk,
danke für die Unterstützung, der Name soll so bleiben !
Wenn ich sonst wegschicke als xls bleibt der Name auch so.
gruß
wilma k
AW: Wilma k Excel Datei als PDF ...
01.02.2019 18:43:20
Nepumuk
Hallo Wilma,
teste mal:
Public Sub Orginal_Excel_Workbook_via_Outlook_Senden()
    
    Dim MyMessage As Object, MyOutApp As Object
    Dim AWS As String
    
    AWS = ThisWorkbook.FullName
    AWS = Mid$(AWS, 1, InStrRev(AWS, ".")) & "pdf"
    
    Call ThisWorkbook.ExportAsFixedFormat(Type:=xlTypePDF, Filename:=AWS, Quality:=xlQualityStandard, _
        IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False)
    
    Set MyOutApp = CreateObject("Outlook.Application")
    Set MyMessage = MyOutApp.CreateItem(0)
    
    With MyMessage
        
        .To = ""
        .Subject = "Rechnung: "
        .Attachments.Add AWS
        .Body = "Hier den Text einsetzen..."
        .Display
        
    End With
    
    Set MyOutApp = Nothing
    Set MyMessage = Nothing
End Sub

Gruß
Nepumuk
Anzeige
Nepumuk !!! Klasse -)
01.02.2019 19:12:53
wilma
Hallo Nepumuk,
einwandfrei, danke !
Schönes Wochenende !
mfg
wilma k
Nachfrage...
01.02.2019 19:17:38
wilma
Hallo Nepumuk,
wie könnte eine Abfrage aussehen ob als XLS versenden oder PDF als
Auswahl, würde freuen mich freuen wenn Du nochmal hilfst.
gruß
wilma k
AW: Nachfrage...
01.02.2019 19:24:10
Nepumuk
Hallo Wilma,
so ok?
Public Sub Orginal_Excel_Workbook_via_Outlook_Senden()
    
    Dim MyMessage As Object, MyOutApp As Object
    Dim AWS As String
    
    AWS = ThisWorkbook.FullName
    
    If MsgBox(Prompt:="Wollen Sie die Mappe als PDF senden?", _
        Buttons:=vbYesNo Or vbQuestion, Title:="Abfrage") = vbYes Then
        AWS = Mid$(AWS, 1, InStrRev(AWS, ".")) & "pdf"
        Call ThisWorkbook.ExportAsFixedFormat(Type:=xlTypePDF, _
            Filename:=AWS, Quality:=xlQualityStandard, _
            IncludeDocProperties:=False, IgnorePrintAreas:=False, _
            OpenAfterPublish:=False)
    Else
        ThisWorkbook.Save
    End If
    
    Set MyOutApp = CreateObject("Outlook.Application")
    Set MyMessage = MyOutApp.CreateItem(0)
    
    With MyMessage
        
        .To = ""
        .Subject = "Rechnung: "
        .Attachments.Add AWS
        .Body = "Hier den Text einsetzen..."
        .Display
        
    End With
    
    Set MyOutApp = Nothing
    Set MyMessage = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: Nachfrage...
01.02.2019 19:27:34
Wilma
Hallo Nepumuk,
schöner wäre auch die Auswahl dazu Beides also xls und pdf
versenden.
Würde mich freuen !
Mit freundlichen Grüßen
Wilma k
AW: Nachfrage...
01.02.2019 19:48:35
Nepumuk
Hallo Wilma,
dann brauchen wir ein Userform. Wenn es für dich passt, dann kannst du das Userform mit der Maus im Projektexplorer (Das kleine Fensterchen oben links) in deine Mappe ziehen.
https://www.herber.de/bbs/user/127365.xlsm
Gruß
Nepumuk
Nachtrag
01.02.2019 19:50:24
Nepumuk
Ich nochmal
du musst natürlich den gesamten Code aus dem Modul1 in deine Mappe kopieren.
Gruß
Nepumuk
Anzeige
Leider geht das nicht, da ich...
01.02.2019 19:58:27
wilma
Hallo Nepumuk,
das geht leider nicht, da die Datei aus einer anderen Datei kopiert
wurde und geschützt ist.
Kann also keine Userform kopieren, schade.
gruß
wilma k
AW: Leider geht das nicht, da ich...
01.02.2019 20:00:22
Nepumuk
Hallo Wilma,
und wie änderst du dann den Code für die Mail?
Gruß
Nepumuk
Mail versenden und PDF
01.02.2019 20:03:55
wilma
Hallo Nepumuk,
du hast mit ein Makro geschickt, entweder XLS oder PDF,
gibt es den die Möglichkeit beides hintereinander
zu kopieren ?
gruß
wilma k
Der Code teht in der Haupt XLS !
01.02.2019 20:04:55
wilma
AW: Der Code teht in der Haupt XLS !
01.02.2019 20:12:39
Nepumuk
Hallo Wilma,
also drei Möglichkeiten nämlich nur PDF, nur XLS, PDF + XLS zusammen oder?
Dann musst du das Userform in die Mappe ziehen in der dein Makro steht.
Gruß
Nepumuk
Anzeige
AW: Der Code teht in der Haupt XLS !
01.02.2019 20:35:19
Wilma
Hallo Nepumuk,
das geht leider nicht, da mehrere Personen mit der Rechnungsdatei arbeiten
und die das nicht können.
Wenn es nicht geht lasse ich es so mit deinem Muster ob xls oder pdf.
Gruß
Wilma k
AW: Der Code teht in der Haupt XLS !
01.02.2019 20:46:36
Nepumuk
Hallo Wilma,
was können die nicht? Auf einen Button im Userform klicken?
Gruß
Nepumuk
AW: Der Code teht in der Haupt XLS ! -)
01.02.2019 21:11:32
Wilma
Ja leider,
Es muß ja vorher die UF in die neu erstellte Datei kopiert werden.
Ich lasse es dann so !
Tausend dank Nepumuk
Gruß
Wilma k
Nepumuk nur als Info habs geschafft !!!
02.02.2019 11:48:59
wilma
Guten Morgen Nepumuk,
ich habe heute Morgen 3h daran "rumgedoktort" und
habe es hinbekommen !!!
Danke nochmals,
durch dein Makro hätte ich es nicht hinbekommen.
mfg
wilma k
Public Sub Orginal_Excel_Workbook_via_Outlook_Senden()
Dim MyMessage As Object, MyOutApp As Object
Dim AWS As String
AWS = ThisWorkbook.FullName
'--------- hier NUR als PDF --------------------------------
If MsgBox(Prompt:="Wollen Sie die Mappe als PDF senden?", _
Buttons:=vbYesNo Or vbQuestion, Title:="Abfrage") = vbYes Then
AWS = Mid$(AWS, 1, InStrRev(AWS, ".")) & "pdf"
Call ThisWorkbook.ExportAsFixedFormat(Type:=xlTypePDF, _
Filename:=AWS, Quality:=xlQualityStandard, _
IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False)
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = ""
.Subject = "Rechnung: "
.Attachments.Add AWS
.Body = "Hier den Text einsetzen..."
.Display
End With
'------ hier NUR als XLS -------------------------------
Else
If MsgBox(Prompt:="Wollen Sie die Mappe als XLS senden?", _
Buttons:=vbYesNo Or vbQuestion, Title:="Abfrage") = vbYes Then
ThisWorkbook.Save                       'als excel
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = ""
.Subject = "Rechnung: "
.Attachments.Add AWS
.Body = "Hier den Text einsetzen..."
.Display
End With
Else
'---- als PDF  und XLS -------------------------------
If MsgBox(Prompt:="Sollen PDF und XLS zusammen gesendet werden ?", _
Buttons:=vbYesNo Or vbQuestion, Title:="Abfrage") = vbYes Then
AWS = Mid$(AWS, 1, InStrRev(AWS, ".")) & "pdf"
Call ThisWorkbook.ExportAsFixedFormat(Type:=xlTypePDF, _
Filename:=AWS, Quality:=xlQualityStandard, _
IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False)
'---- jetzt für xls Datei --------
Dim AWSEXECEL
AWSEXECEL = ThisWorkbook.FullName
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = ""
.Subject = "Rechnung: "
.Attachments.Add AWS
.Attachments.Add AWSEXECEL
.Body = "Hier den Text einsetzen..."
.Display
End With
End If
End If
End If
Set MyOutApp = Nothing
Set MyMessage = Nothing
End Sub

Anzeige

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige