Excel Marko - PDF versand über Apple Mail

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Excel Marko - PDF versand über Apple Mail
von: Hans
Geschrieben am: 10.09.2015 11:37:36

Hallo ich habe für Windows (Outlook) folgendes Makro im Einsatz.
Nun möchte ich das der Mailversand aber auch auf dem Mac mit AppleMail bzw. generell mit dem Standard E-Mail Programm funktioniert.
Weiß jemand was ich genau ändern muss?


Sub AlsPDFSpeichern()
Dim pdfName As String
Dim pdfOpenAfterPublish As Boolean
Dim olApp As Object
Sheets("Anschreiben").Select
Rem Rückfragen, ob Datei nach dem Erstellen geöffnet werden soll
If MsgBox("Soll die PDF-Datei nach dem Erstellen angezeigt werden?", vbYesNo, "PDF anzeigen?") = _
 _
 _
 _
 _
 _
 _
 _
 _
 vbYes Then pdfOpenAfterPublish = True
Rem Pfad und Name der PDF-Datei
pdfName = ThisWorkbook.Path & "\" & Worksheets("Hilfe").Range("F6").Value & "\" & Worksheets("   _
 _
 _
 _
 _
 _
 _
_
_
Hilfe").Range("F7").Value & "\" & Worksheets("Hilfe").Range("F8").Value & "\" & Worksheets(" _
Hilfe").Range("F9").Value & "\" & Worksheets("Anschreiben").Range("A15").Value & "_" &  _
Worksheets("Hilfe").Range("F6").Value & ".pdf"
Rem PDF-Datei erstellen. Funktioniert nur in Excel 2007 oder höher, nicht in Excel 2003 oder ä   _
 _
 _
 _
 _
 _
 _
_
_
lter
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
                                   Quality:=xlQualityStandard, IncludeDocProperties:=False,  _
IgnorePrintAreas:=False, _
                                   OpenAfterPublish:=IIf(pdfOpenAfterPublish, True, False)
                                   
                                   
Rem Email erstellen
Set olApp = CreateObject("Outlook.Application")
    With olApp.CreateItem(0)
              .to = Worksheets("Hilfe").Range("F10").Value
              .CC = Range("Z2").Value
              .subject = Worksheets("Anschreiben").Range("A15").Value & " - " & Worksheets(" _
Hilfe").Range("F6").Value
              .htmlBody = Worksheets("Anschreiben").Range("A18").Value
              .Attachments.Add pdfName
              .Display
    
    End With
                  
Rem Boolean-Variable "pdfOpenAfterPublish" zurücksetzen
pdfOpenAfterPublish = False
Sheets("Einstellung").Select
End Sub

Danke für eure Unterstützung!
Hans

Bild

Betrifft: Mail - Mac...
von: Case
Geschrieben am: 10.09.2015 12:00:21
Hallo, :-)
schau mal hier:
Mail from Excel and make/mail PDF files (Mac)
Servus
Case


Bild

Betrifft: AW: Mail - Mac...
von: Hans
Geschrieben am: 10.09.2015 12:13:09
Hallo,
leider ist mir nicht ganz klar was ich genau und an welcher stelle in meinem Makro einfügen muss?
VG

Bild

Betrifft: Eigentlich alles "Pfannenfertig"...
von: Case
Geschrieben am: 10.09.2015 12:42:35
Hallo, :-)
wieso in Deinem Makro einfügen? Das ist doch für Windows. Du willst es jetzt aber für MAC. Und Ron hat dort "Pfannenfertige" Lösungen. Verstehe Dein Problem nicht ganz.
Servus
Case


Bild

Betrifft: AW: Mail - Mac...
von: KlausF
Geschrieben am: 10.09.2015 15:00:45
Hallo Hans,
ich habe Dir die Datei von Ron de Bruin mal ein wenig abgespeckt:
https://www.herber.de/bbs/user/100118.xlsm
Voraussetzung: mindestens Excel 2011 Mac.
Es wird ein PDF angefertigt und mit dem Standardmailprogramm versand (vorher angezeigt).
Betreff, Text und Mailadresse musst Du vorher im Code "CreateMailPDFActiveWorkbookMacMail" anpassen.
Der alte Windowscode muss vollständig durch den gesamten neuen Code ersetzt werden.
Das PDF wird nur temporär erzeugt und nach der Aktion gelöscht.
Vielleicht kannst Du ja damit schon etwas anfangen.
Ein Code für alle Excelversionen Mac gibt es nicht.
Gruß
Klaus

Bild

Betrifft: AW: Mail - Mac...
von: Hans
Geschrieben am: 10.09.2015 16:13:06
Vielen Dank!

Bild

Betrifft: AW: Mail - Mac...
von: Hans
Geschrieben am: 10.09.2015 21:19:02
Gibt es denn die Möglichkeit, dass das Marko sowohl auf Mac als auch auf Windows Rechnern geht?

Bild

Betrifft: AW: Mail - Mac...
von: KlausF
Geschrieben am: 11.09.2015 14:34:22
Hallo Hans,
ja das ist möglich. Dafür musst Du aber beide Codeversionen im Modul
belassen und mit einer Vorabfrage starten. Das Makro verzweigt dann in die
entsprechend korrekte Version:

Sub Systemabfrage()
If Application.OperatingSystem Like "*Mac*" Then
   Call CreateMailPDFActiveWorkbookMacMail
Else
   Call AlsPDFSpeichern
End If
End Sub
Gruß
Klaus

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Excel Marko - PDF versand über Apple Mail"