E-Mail versenden über Excel Button
#1
Hallöchen liebes Forum,

ich habe mal wieder ein Problem... Ich kann nun meinen Kollegen Excel recht gut erklären, nur die Programmierung über VBA macht mir momentan das Leben schwer.
Folgendes:

Ich habe eine Excel-Datei, welche so wie sie ist über einen Button als E-Mail verschickt werden soll (also sämtliche Blatter in dieser Excelmappe.xlsm; die gesamte Datei eben).
Den Button habe ich nun erstellt über "Entwicklertools - Einfügen - Schaltfläche". Dieser Schaltfläche möchte ich nun ein Makro zuweisen bzw. das funktioniert auch über "Rechtsklick Schaltfläche - Makro zuweisen - Makro auswählen".
Mein Endgegner ist nun das Makro.

Anhang 1 ist hierbei der Strukturbaum meiner ExcelMappe gehe ich mal von aus, erste Frage:
 - Ist es nun egal, wo ich den Doppelklick setze, um mein Makro zu schreiben?

Mein Makro soll beinhalten (bzw. die spätere Mail):
 - Betreff: "Tagesübersicht Werk X"
 - EMail Text: "Liebe Kollegen, anbei die Tagesübersicht aus Werk X."
 - Empfänger: ist erstmal egal, da noch nicht alle feststehen
 - CC, BCC: ebenfalls egal
 - Anhang: gesamte momentan geöffnete Excel Arbeitsmappe (Also die Arbeitsmappe, in welcher sich der Button befindet)
 - und ich möchte die Mail vor dem Versenden nochmal ansehen (geht ja glaube ich über .Display)

Mein Code sieht seither so aus, habe mich da ein wenig durch YouTube und das Forum hier gewurstelt, aber mangels Erfahrung habe ich mir vermutlich das falsche rausgepickt... :D
Code:
Sub eMailVersenden()

    Dim objOutlook As Object
    Dim objMail As Object
       
    Set objOutlook = CreateObject("Outlook.Application")
    Set objMail = objOutlook.CreateItem(0)
   
       
    With objMail
   
    .Subject = "Tagesübersicht Kecskemet"
    .Body = "Liebe Kollegen, anbei die Tagesübersicht aus Kecskemet."
    .attachments.Add ThisWorkbook
    .Display
   
    End With

End Sub

Ich hoffe mein Problem ist soweit verständlich. :)
Ich habe sicherlich wieder irgendeinen Hirnkrampf grade :D


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Hallo morvus91,

da Du keine wirkliche inhaltliche Frage gestellt hast, nur folgende Anmerkung: auf den ersten Blick würde ich diese Zeile
Code:
.attachments.Add ThisWorkbook
zu
Code:
.attachments.Add ThisWorkbook.Fullname
ändern. Evtl. muss vorher noch ein Save eingebaut werden, damit der letzte Stand der Datei verschickt wird.

Und zu Deiner Frage, wo Du Doppelklicken musst, empfehle ich: https://excelmacromastery.com/vba-tutorial-1/

K.
[-] Folgende(r) 1 Nutzer sagt Danke an Kronos für diesen Beitrag:
  • morvus91
Antworten Top
#3
Erstmal vielen Dank!
Das hat nun funktioniert, ich habe meinen Code nochmal etwas umgeschrieben.

Code sieht nun folgendermaßen aus:

Code:
Sub email_versenden()

Dim oApp As New Outlook.Application
Dim oMail As Outlook.MailItem

Set oMail = oApp.CreateItem(olMailItem)

With oMail
    .Save
    .BodyFormat = olFormatHTML
    .To = "geheim :)"
    .CC = "auch geheim :)"
    .Subject = ""
    .HTMLBody = "Liebe Kollegen, anbei befindet sich die tagesaktuelle Übersicht."
    .Attachments.Add ThisWorkbook.FullName
    .Display
   
End With
   
End Sub

Auch etwas, was ich vergessen hatte. Im VBA Editor unter "Extras - Verweise - " war Microsoft Outlook nicht aktiviert. :D
Hat bestens funktioniert :)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste