Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1516to1520
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
Inhaltsverzeichnis

Email Versand via Dropdown-Feld

Email Versand via Dropdown-Feld
27.09.2016 21:34:05
Michq
Guten Abend,
es geht um folgende Datei:
https://www.herber.de/bbs/user/108463.xlsx
In Spalte G gibt es die Möglichkeit via Dropdown-Feld "Open" und "close" auszuwählen.
In Sheet "Email" sind die Email-Adressen der Spalte D hinterlegt.
Sobald nun ein Mitarbeiter den Status auf "close" stellt soll die betroffene Person (Spalte D) eine Email erhalten.
Kann mir hierbei jemand weiterhelfen?
Vielen Dank schon einmal im Voraus.
Gruß
Michq

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Email Versand via Dropdown-Feld
28.09.2016 10:08:33
Martin
Hallo Michq,
eines vorweg: Auftragsprogrammierung machen wir hier im Forum nicht. In deiner Vorlage finde ich kein Dropdown-Feld. Ein "Tes3" befindet sich zudem nicht in der Tabelle "Email".
Falls du nur einen Ansatz suchst das Ereignis abzufangen, sollte dir dieser Code weiterhelfen:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column  7 Then Exit Sub
If .Value = "close" Then
MsgBox "Soeben hat " & .EntireRow.Range("D1") & " den Status auf 'close' gesetzt!",  _
vbInformation
End If
End With
End Sub
Viele Grüße
Martin
Anzeige
AW: Email Versand via Dropdown-Feld
28.09.2016 10:51:11
Martin
Hallo Michq,
jetzt habe ich noch das Auslesen der Email-Adresse schnell ergänzt. Das DropDown kannst du ohne VBA realisieren (siehe 'Gültigkeit' und 'Liste'). Und zum EMail-Versand gibt es unzählige Beispiele hier im Archiv, das ist quasi ein Copy & Paste-Vorgang. Den Rest solltest du allein schaffen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim varUser As Variant
Dim strUser As String, strEmail As String
With Target
If .Column  7 Then Exit Sub
If .Value  "close" Then Exit Sub
strUser = .EntireRow.Range("D1")
End With
Set varUser = Sheets("Email").Columns("A:A").Find(strUser, LookIn:=xlValues)
If varUser Is Nothing Then
MsgBox "Keine Email-Adresse zum User '" & strUser & "' vorhanden!", vbExclamation
Exit Sub
End If
strEmail = Sheets("Email").Cells(varUser.Row, 2)
MsgBox "Soeben hat " & strUser & " (" & strEmail & ") den Status auf 'close' gesetzt!",  _
vbInformation
End Sub
Viele Grüße
Martin
Anzeige
AW: Email Versand via Dropdown-Feld
28.09.2016 13:53:53
Michq
Hallo Martin,
danke für deine Hilfe.
Ein Dropdown-Feld ist doch in Spalte G vorhanden und es sollte Test3 heißen und nicht Tes3.
Das war mein Fehler.
Gruß
AW: Email Versand via Dropdown-Feld
28.09.2016 14:01:48
Michq
Hallo Martin,
danke für deine Hilfe.
Ein Dropdown-Feld ist doch in Spalte G vorhanden und es sollte Test3 heißen und nicht Tes3.
Das war mein Fehler, sorry.
Eine Frage noch an dich:
Wie kann ich denn nun automatisch (im Hintergrund) eine Email an die angegeben Adresse via Outlook senden lassen?
Gruß
AW: Email Versand via Dropdown-Feld
28.09.2016 18:37:57
Martin
Hallo Michq,
bei mir werden keine Dropdowns in Spalte G angezeigt, aber vielleicht liegt das an meiner uralt Excel-Version 2003, dass diese Information bei der Dateiformatkonvertierung verlorengegangen ist.
Ich habe hier auf diesem Rechner kein Outlook installiert und wollte deshalb keinen ungestesteten Code posten, zumal es unzählige Beispiele vom Emailversand im Forums-Archiv gibt. Theoretisch sollte der Email-Versand so klappen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngUser As Range
Dim strUser As String, strEmail As String
With Target
If .Column  7 Then Exit Sub
If .Value  "close" Then Exit Sub
strUser = .EntireRow.Range("D1")
End With
Set rngUser = Sheets("Email").Columns("A:A").Find(strUser, LookIn:=xlValues)
If rngUser Is Nothing Then
MsgBox "Keine Email-Adresse zum User '" & strUser & "' vorhanden!", vbExclamation
Exit Sub
End If
strEmail = Sheets("Email").Cells(rngUser.Row, 2)
Call SendMail(strEmail)
MsgBox "Soeben hat " & strUser & " (" & strEmail & ") den Status auf 'close' gesetzt!",  _
vbInformation
End Sub
Sub SendMail(strMailaddress As String)
Dim objOL As Object
Set objOL = CreateObject("Outlook.Application")
With objOL.CreateItem(0)
.To = strMailaddress
.Subject = "Betreff"
.Body = "Das ist der Textinhalt der Email"
.Display
.Send
End With
Set objOL = Nothing
End Sub
Aber wie schon gesagt, habe ich es nicht getestet. Um die Email ohne Bestätigung verschicken zu können, muss unter Outlook 2010 eine Sicherheitseinstallung deaktviert werden. Ich kann mich jetzt aber nicht erinnern wo bzw. was das genau war (...da musst du mal hier im Forum oder per Google suchen). Diese Sicherheitseinstellung soll den automatisierten Versand von SPAM-Mails aus Office-Dateien mit Makroviren vermeiden. Wie gesagt, kann diese Einstellung direkt in Outlook deaktiviert werden.
Viele Grüße
Martin
Anzeige
AW: Email Versand via Dropdown-Feld
28.09.2016 19:30:38
Michq
Hallo Martin,
alles klar danke für deine Hilfe.
Hab es soweit hinbekommen, nur der automatische Versand funktioniert noch nicht ganz, dies bekomm ich aber auch noch hin.
Wünsch dir einen schönen Abend.
Gruß
Michq
AW: Email Versand via Dropdown-Feld
28.09.2016 19:59:03
Martin
Hallo Michq,
was genau klappt beim automatischen Email-Versand noch nicht wie beabsichtigt? Gibt es eine Fehlermeldung (falls ja, welche Fehlermeldung in welcher Zeile?) oder geht es um die Bestätigung in Outlook? Ich erinnere mich, dass ich früher auch eine Weile gebraucht hatte um die Bestätigung in Outlook zu deaktivieren. Wegen anderer unüberwindbarer Probleme (die Header-Informationen im HTML-Quellcode sind nicht vollständig editierbar) bin ich dann auf ein Kommandozeilen-Programm (http://caspian.dotconf.net/menu/Software/SendEmail/) umgestiegen.
Viele Grüße
Martin
Anzeige
AW: Email Versand via Dropdown-Feld
29.09.2016 13:52:08
Michq
Hallo Martin,
bisher sieht die Datei so aus:
https://www.herber.de/bbs/user/108503.xlsm
Der automatische Email-Versand funktioniert bisher noch nicht.
Hast du mir sonst noch irgendwelche Tipps?
Gruß
Michq
AW: Email Versand via Dropdown-Feld
29.09.2016 16:06:04
Martin
Hallo Michq,
an welcher Stelle hakt es denn genau? Gibt es eine Fehlermeldung? Wenn ja, an welcher Stelle?
Viele Grüße
Martin
AW: Email Versand via Dropdown-Feld
29.09.2016 16:32:43
Michq
Hallo Martin,
nein Fehlermeldung gibt es keine.
Ich muss die Mail halt manuell versenden. Die soll halt einfach automatisiert werden, damit der User dies gar nicht mitbekommt, sondern nur auf "close" stellt und dann im Hintergrund die Mail versendet wird.
Gruß
Michq
Anzeige
AW: Email Versand via Dropdown-Feld
29.09.2016 16:51:23
Martin
Hallo Michq,
wie schon geschrieben, musst du das in Outlook entsprechend festlegen. Ich habe soeben auf meinem Office 2010-Rechner nachgesehen und dir ein Screenshot gemacht. Du muss im Sicherheitcenter die Sicherheitseinstellungen auf "Bei verdächtigen Aktivitäten nie Warnhinweis anzeigen (nicht empfohlen)" festlegen:
Userbild
Viele Grüße
Martin
AW: Email Versand via Dropdown-Feld
29.09.2016 19:38:03
Michq
Hallo MArtin,
danke für den Hinweis. Mit dem Sicherheitshinweis hat es eigentlich eher nichts zu tun.
Mir gehts eher darum, dass ich nicht weiß wie ich das Makro umschreiben soll, damit es möglich ist eine Email ohne Bestätigung zu versenden! Das Makro sollte hierzu angepasst werden, jedoch weiß ich nicht wie!?
Gruß
Michq
Anzeige
AW: Email Versand via Dropdown-Feld
29.09.2016 20:02:41
Martin
Hallo Michq,
ich habe gerade auf meinem Rechner per VBA eine EMail über Outlook versendet und ich musste nichts bestätigen. Mach doch mal ein Screenshot der von dir angesprochenen Bestätigung. Ich habe echt keine Ahnung was du mit "Bestätigung" meinst.
Viele Grüße
Martin
AW: Email Versand via Dropdown-Feld
29.09.2016 20:05:15
Michq
Hallo Martin,
bei mir öffnet es ganz normal eine Email und ich muss auf den Button "Senden" klicken, damit die Mail versendet wird.
Gruß
Michq
AW: Email Versand via Dropdown-Feld
29.09.2016 20:14:18
Martin
Hallo Michq,
ich habe jetzt noch einmal in deinen Quellcode gesehen und festgestellt, dass du das .Send gelöscht hast. Das .Dislay hingegen könntest du weglassen, wenn die Email nicht angezeigt werden soll.
    With objEmail
.To = strEmail
.Subject = "Closed"
.Body = "The Work order is closed"
.Send
End With
Viele Grüße
Martin
Anzeige
AW: Email Versand via Dropdown-Feld
29.09.2016 20:27:02
Michq
Hi Martin,
funktioniert. Vielen Dank für deine Hilfe.
Gruß
Michq

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige