Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel Marko - PDF versand über Apple Mail

Excel Marko - PDF versand über Apple Mail
10.09.2015 11:37:36
Hans
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

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

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

Anzeige
Eigentlich alles "Pfannenfertig"...
10.09.2015 12:42:35
Case
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

Anzeige
AW: Mail - Mac...
10.09.2015 15:00:45
KlausF
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

Anzeige
AW: Mail - Mac...
10.09.2015 16:13:06
Hans
Vielen Dank!

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

AW: Mail - Mac...
11.09.2015 14:34:22
KlausF
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
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel Makro: PDF Versand über Apple Mail


Schritt-für-Schritt-Anleitung

Um ein Excel-Makro zu erstellen, das eine PDF-Datei über Apple Mail versendet, befolge diese Schritte:

  1. Öffne Excel auf deinem Mac. Stelle sicher, dass du mindestens Excel 2011 für Mac verwendest.

  2. Erstelle ein neues Modul für dein Makro:

    • Gehe zu Entwicklertools > Visual Basic.
    • Klicke mit der rechten Maustaste auf VBAProject (deine Datei) und wähle Einfügen > Modul.
  3. Füge den folgenden Code in das Modul ein:

    Sub CreateMailPDFActiveWorkbookMacMail()
       Dim pdfName As String
       Dim pdfOpenAfterPublish As Boolean
    
       ' Pfad und Dateiname der PDF festlegen
       pdfName = ThisWorkbook.Path & "/" & "dein_dateiname.pdf"
    
       ' PDF erstellen
       ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
           Quality:=xlQualityStandard, IncludeDocProperties:=False, _
           IgnorePrintAreas:=False, OpenAfterPublish:=False
    
       ' E-Mail erstellen
       Dim mailApp As Object
       Set mailApp = CreateObject("AppleMail.Application")
       With mailApp.CreateItem(0)
           .To = "deine_email@beispiel.com"
           .Subject = "Betreff"
           .Body = "Hier ist die PDF-Datei."
           .Attachments.Add pdfName
           .Display
       End With
    End Sub
  4. Passe die E-Mail-Adresse und den Dateinamen an.

  5. Führe das Makro aus, um die PDF zu erstellen und die E-Mail zu versenden.


Häufige Fehler und Lösungen

  • Fehler: E-Mail-Anwendung startet nicht.

    • Lösung: Überprüfe, ob Apple Mail als Standard-E-Mail-Anwendung festgelegt ist.
  • Fehler: PDF wird nicht erstellt.

    • Lösung: Stelle sicher, dass der Pfad für die PDF korrekt ist und dass die Datei nicht schreibgeschützt ist.
  • Fehler: Das Makro funktioniert nicht in Excel-Versionen vor 2011.

    • Lösung: Aktualisiere auf eine neuere Version von Excel.

Alternative Methoden

Wenn das oben genannte Makro nicht funktioniert, kannst du folgende Alternativen in Betracht ziehen:

  • Verwendung von Outlook für Mac: Du kannst auch Outlook verwenden, um PDF-Dateien zu versenden. Hier ist ein Beispiel, wie du den Code anpassen kannst, um Outlook anstelle von Apple Mail zu verwenden.

  • Manuelles Versenden: Speichere die Datei als PDF und versende sie manuell über Apple Mail.


Praktische Beispiele

Ein Beispiel für das Erstellen eines PDFs aus einem Excel-Tabellenblatt und das Versenden über Apple Mail könnte wie folgt aussehen:

Sub BeispielMakro()
    ' PDF erstellen und versenden
    Call CreateMailPDFActiveWorkbookMacMail
End Sub

Dieses Beispiel ruft das zuvor erstellte Makro auf und versendet die PDF-Datei.


Tipps für Profis

  • Verwende Variablen für die E-Mail-Adresse: Halte deine E-Mail-Adressen in einer separaten Zelle in Excel, um sie leicht zu ändern.

  • Fehlerbehandlung einbauen: Implementiere eine Fehlerbehandlung, um Probleme beim Versenden der E-Mail abzufangen.

  • PDFs in Excel einfügen: Du kannst PDFs auch direkt in Excel einfügen, um sie für Benutzer leichter zugänglich zu machen.


FAQ: Häufige Fragen

1. Kann ich das Makro sowohl auf Mac als auch auf Windows verwenden?
Ja, du kannst beide Codeversionen im Modul belassen und mit einer Vorabfrage starten, um das passende Makro für das Betriebssystem auszuwählen.

2. Wie kann ich die PDF-Datei nach dem Versenden löschen?
Füge am Ende des Makros einen Befehl hinzu, um die PDF-Datei zu löschen, z. B. Kill pdfName.

3. Welche Excel-Version benötige ich, um PDFs zu erstellen?
Mindestens Excel 2011 für Mac ist erforderlich, um das PDF-Erstellungsfeature nutzen zu können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige