Registriert seit: 06.07.2017
Version(en): 2010
Guten Morgen,
Ich brauche einen code um zu prüfen ob von eine bestimmte E-Mail Adresse die email geschrieben wird.
Es soll also geprüft werden "wenn von Email x@x.de versandt werden soll dann soll Makro starten durch den Befehl Fall ansonsten soll nichts passieren.
Könnt ihr mir da weiter helfen? Bin verzweifelt am suchen und finde nichts.
Was ich damit erreichen will ist, dass wenn ich eine bestimmte E-Mail versenden mit dem Makro eine Abfrage starten soll ob ich die E-Mail weiterleiten möchte oder nicht. Wenn ja dann folgt ein weiterer gefehlt, der mir automatisch die E-Mail so vorbereitet, dass ich lediglich im Betreff noch was ergänzen muss.
Mir fehlt lediglich den Code für die Prüfung.
Danke im voraus.
Gruß
Mando
Registriert seit: 06.07.2017
Version(en): 2010
Folgenden Code habe ich:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
intAntwort = MsgBox("soll die Email Archiviert werden?", vbOKCancel)
Select Case intAntwort
Case vbOK
Call test
Case vbChancel
'nix
End Select
End Sub
Und dann soll das passieren;
Sub test()
Dim objMail_In As MailItem
Dim objMail_Out As MailItem
Select Case TypeName(Application.ActiveWindow)
Case "Explorer"
Set myItem = ActiveExplorer.Selection.Item(1)
Case "Inspector"
Set myItem = ActiveInspector.CurrentItem
Case Else
End Select
Set objMail_In = myItem
Set objMail_Out = objMail_In.Forward
With objMail_Out
.To = "xx@x.de" 'Empfänger
.Subject = objMail_In.Subject & "; BAS 51; "
.Display
End With
End Sub
Das soll alles geschehen wenn eine Email von x@x.de geschrieben wird.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
also, meinst Du wirklich "von" geschrieben und nicht "an"?
Dein Code läuft wenn ein Objekt gesendet wird.
Eine Prüfung könnte so aussehen:
If Item.To = "...gmx..." then
'Dein restlicher Code
End If
Wenn es generell um gmx geht, dann vielleicht so
If Item.To Like "*gmx*" Then
...
oder eben From statt To
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 06.07.2017
Version(en): 2010
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If item.to = "x@x.de" then
intAntwort = MsgBox("soll die Email Archiviert werden?", vbYesNo)
Select Case intAntwort
Case vbYes
Dim objMail_In As MailItem
Dim objMail_Out As MailItem
Select Case TypeName(Application.ActiveWindow)
Case "Explorer"
Set myItem = ActiveExplorer.Selection.Item(1)
Case "Inspector"
Set myItem = ActiveInspector.CurrentItem
Case Else
End Select
Set objMail_In = myItem
Set objMail_Out = objMail_In.Forward
With objMail_Out
.To = "xx@x.de" 'Empfänger
.Subject = objMail_In.Subject & "; BAS 51; "
.Display
End With
Case vbNo
End Select
End if
End Sub
So lautet der Code aber der geht nicht. Ich benutze 2 Konten ein um interne E-Mails zu schreiben und ein für externe E-Mails und wenn ich externen Konto auswähle (Beispiel: service@x.de) für er die Anfrage nicht ob ich die E-Mail weiterleiten soll. Wo liegt der Fehler?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
um erst mal festzustellen, ob es an der Bedingung liegt, kannst Du ja erst mal was ganz einfaches testen:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If MsgBox("Willst Du " & Item.Subject & " senden?", vbYesNo) = vbNo Then
Cancel = True
End If
End Sub
Das sollte dann bei jeder email in jedem Konto wirken. Den Code hast Du auch in ThisOutlookSession?
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 06.07.2017
Version(en): 2010
10.07.2017, 21:30
(Dieser Beitrag wurde zuletzt bearbeitet: 11.07.2017, 05:59 von WillWissen.
Bearbeitungsgrund: Antwort aus Zitat herausgenommen
)
(10.07.2017, 21:20)schauan schrieb: Hallöchen,
um erst mal festzustellen, ob es an der Bedingung liegt, kannst Du ja erst mal was ganz einfaches testen:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If MsgBox("Willst Du " & Item.Subject & " senden?", vbYesNo) = vbNo Then
Cancel = True
End If
End Sub
Das sollte dann bei jeder email in jedem Konto wirken. Den Code hast Du auch in ThisOutlookSession?
Hallo,
Danke für die Rückmeldung.
Der Code funktioniert egal mit welche Email ich das benutze. Das nutze ich jetzt bereits und ja es ist unter ThisOutlookSession.
Blöd ist nur, dass wenn ich dann auch weiterleite, erneut die Abfrage erfolgt, was unnötig ist. Deshalb will ich nur, dass die Abfrage kommt wenn ich nach außen kommuniziere, also wenn ich die angehende Email auswähle.
Registriert seit: 06.07.2017
Version(en): 2010
Wenn ich den deine Ergänzung hinzufüge, dann funktioniert der Code nicht, bzw. Es erfolgt keine Abfrage und es gibt auch keine Fehlermeldung.