Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Email aus Excel Tabelle mittels VBA senden

Email aus Excel Tabelle mittels VBA senden
08.08.2007 10:25:33
Jon
Hallo! Ich habe in einer Excel Tabelle Name und Emailadresse.
A1:A10 Name
B1:B10 Emailadresse
Ich möchte jetzt jede Email adresse so verlinken, dass bei einem Klick auf die Adresse selbst sich Outlook öffnet und die Email adresse entsprechend im Recipient Feld steht, der Name in der Betreffzeile usw. VBA soll sich also die Daten aus dem Excel sheet holen.
Bisher habe ich folgenden Code (Es wären also die Recipients.Add und .Subject Befehle zu ändern):

Sub Mail_senden()
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.Recipients.Add "empfaenger@provider.de"
.Subject = "Test-Mail"
.Body = "Das ist eine e-Mail" & Chr(13) & _
"Viele Grüße..." & Chr(13) & Chr(13)
.ReadReceiptRequested = False
.Display
End With
Set olApp = Nothing
End Sub


6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Email aus Excel Tabelle mittels VBA senden
08.08.2007 10:32:00
Ramses
Hallo
.Recipients.Add ActiveCell.Text
Wo stehen die Subject-Daten ?
Allenfalls mit ActiveCell.Offset(0,1) arbeiten wenn der Subject rechts von der E-Mail-Adresse steht
Gruss Rainer

AW: Email aus Excel Tabelle mittels VBA senden
08.08.2007 11:03:00
Jon
Hallo Rainer, danke für die Antwort. Ich hatte etwas anderes gemeint. In A1 steht bspw. die emailadresse und in b1 der name = Betreff. Ich habs jetzt schon hinbekommen, dass er diese Variablen nimmt und in die neue Email einfügt. Mein Problem ist jetzt nur, wie kann ich in den Body Variablen z.B. B3 einfügen?
In jeder Zeile soll dann ein Button sein. Wenn ich auf den Button von Zeile 1 klicke, soll das Skript mit der Emailadresse A1 gestartet werden. Wenn ich auf den Button in Zeile 2 klicke dann mit der Emailadresse aus A2 usw.
Vielen Dank!

Sub Mail_senden()
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.Recipients.Add [A1]
.Subject = [B1]
.Body = "Hallo " & Chr(13) & _
"Tschüss!" & Chr(13) & Chr(13)
.ReadReceiptRequested = False
.Display
End With
Set olApp = Nothing
End Sub


Anzeige
AW: Email aus Excel Tabelle mittels VBA senden
08.08.2007 11:11:41
Ramses
Hallo
"...wie kann ich in den Body Variablen z.B. B3 einfügen?.."
Indem du auf die jeweiligen Zellen verweist anstelle des Textes den du bisher verwendest :-)
Ist doch ganz einfach.
[a1] solltest du nicht verwenden, sondern wie ich schon geschrieben habe "ActiveCell"
und den Rest den du brauchst mit "OffSet" ableiten. Das ist in der Online-Hilfe erklärt
Gruss Rainer

AW: Email aus Excel Tabelle mittels VBA senden
08.08.2007 11:22:00
Jon
Danke! Hatte ich versucht, hatte nicht funktioniert, wenn ich
.Recipients.Add ActiveCell.Text eingegeben hatte.
-> Automatisierungsfehlermeldung

Sub Mail_senden()
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.Recipients.Add ActiveCell.Text
.Subject ActiveCell.Offset(0, 1)
.Body = [B3]
.ReadReceiptRequested = False
.Display
End With
Set olApp = Nothing
End Sub


Anzeige
AW: Email aus Excel Tabelle mittels VBA senden
08.08.2007 11:36:25
Ramses
Hallo
Stell die Eigenschaft "TakeFocusOnClick" des Commandbuttons auf "False"
Dann sollte das funktionieren
Gruss Rainer

AW: Email aus Excel Tabelle mittels VBA senden
08.08.2007 13:43:29
Jon
Hallo! Ich hab leider noch keinen Button drin. Das wäre der nächste Schritt. Erst einmal soll die Emailadresse automatisch in Recipients kopiert werden, so wie das mit [A1] schon funktioniert hatte.
lg Jon

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige