ich habe zwei Grundsatzfragen:
Man findet hier im Forum oder per Google Mako-Beispiele wie man einzelne Register, d. h. Tabellenblätter, per E-Mail verschicken kann.
Ist es auch möglich einzelne Zellenbereiche ein und desselben Registerblattes (!!!) per E-Mail zu verschicken? Also zum Beispiel Range("A2:D10") an Email Adresse 1, Range("D11:H7") an E-Mail Adresse 2 usw. ?
Ich kann mir nicht vorstellen, dass das geht, da Excel immer ein komplettes Excelsheet abspeichert, oder?
Hintergrund: Ich möchte 50 (!) verschiedene Zellenbereiche (oder eben Register, wenn einzelne Bereiche nicht verschickt werden können) an jeweils unterschiedliche E-Mail Adressen verschicken. Die E-Mail Adressen soll sich Excel aus dem Sheet holen. Müsste man dieses Makro (hier nur ein Beispiel!!) 50 mal kopieren? Wie verhält es sich da mit Outlook? Sammelt es erst alle 50 Anhänge und schickt sie dann los oder verschickt es die Mail direkt hintereinander?
Angefangen ein Makro zu schreiben habe ich noch nicht, bräuchte erstmal Eure Einschätzungen.
Falls jemand damit schon mal Erfahrung gemacht hat, bin ich für Denkanstöße dankbar.
Chris
Application.DisplayAlerts = False
Dim aws As String
Dim olapp As Object
ActiveWorkbook.ActiveSheet.Copy
ActiveWorkbook.Save
aws = ActiveWorkbook.FullName
Set olapp = CreateObject("Outlook.Application") 'Erstellt eine Outlooksession
With olapp.CreateItem(0)
.To = "XXX@netz.de" 'Empfänger
'.CC = "empfänger2@netz.de,empfänger3@netz.de" 'optional Kopie an
'.BCC = "empfänger2@netz.de,empfänger3@netz.de" 'optional Blindkopie an
.Subject = "" 'optional Betreff
.htmlBody = "" 'optional Text
.Attachments.Add aws 'fügt den Angang an
.Display 'zeigt die Email an
'SendKeys "%s", True 'optional. Schließt das Emailfenster.
End With
Set olapp = Nothing 'Beendet die Outlooksession
ActiveWorkbook.Close 'Schließt die Kopie
Application.DisplayAlerts = True
End Sub