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

Mail aus Excel heraus automatisch versenden

Mail aus Excel heraus automatisch versenden
18.06.2007 12:01:57
René
Hallo Ihr Excel/VBA-Guru's da draussen.
Ich habe mal wieder ein Problem. Ich möchte aus meiner Excel ToDo-Liste bei überschreiten eines Datumwertes automatisch eine Info Mail senden mit dem Inhalte der Beschreibung des jeweiligen ToDo's. Wie um alles in der welt funktioniert das? Ich verbringe hier schon Tage mit Recherchen und komme einfach nicht weiter. Bitte helft mir!
Zum besseren Verständnis habe ich die Datei hochgeladen unter:
https://www.herber.de/bbs/user/43342.xls
Danke im Voraus, René.

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mail aus Excel heraus automatisch versenden
18.06.2007 13:51:00
Renee
Mazwara René,
Statt Deinem Makro, probier mal dieses.

Sub auto_open()
Dim rCell As Range
Dim objApp As Object
Dim objMailItm As Object
Dim tBRng As String
Dim tReceiver As String
tBRng = "A11:A" & Sheets("ToDo").UsedRange.Rows.Count
tReceiver = Sheets("ToDo").Range("B4")
'    Set objApp = CreateObject("Outlook.Application")
For Each rCell In Sheets("ToDo").Range(tBRng)
If IsDate(rCell.Offset(0, 5).Value) Then
If rCell.Offset(0, 5) - Date " & vbCrLf & _
"wird am " & rCell.Offset(0, 5).Value & " fällig!"
.Send
End With
rCell.Offset(0, 9).Value = True
Set objMailItm = Nothing
End If
End If
Next
Set objApp = Nothing
End Sub


Es läuft automatisch beim öffnen des WB.
Es prüft auf die Zeitdifferenz in A3, nimmt den Empfänger aus B4 und merkt sich in der Spalte J, ob schon einmal ein E-Mail versandt wurde.
Greetzz Renee

Anzeige
AW: Mail aus Excel heraus automatisch versenden
18.06.2007 13:54:00
Renee
oops,
da ist noch ein Testfehler drin.
Remove das Hochkomma vor:

Set objApp = CreateObject("Outlook.Application")


Sorry Renee

AW: Mail aus Excel heraus automatisch versenden
18.06.2007 14:05:00
René
Ich habe dein Makro kopiert, aber nichts passiert. Ich lade nochmal die neue Datei hoch. Kannst du mal schauen ob ich irgendetwas grundsätzliches falsch mache? Vielleicht auch mit ein paar Beschreibungen?
https://www.herber.de/bbs/user/43349.xls
Ansonsten hört sich deine Beschreibung richtig gut an.
Grüße René

Anzeige
AW: Mail aus Excel heraus automatisch versenden
18.06.2007 14:16:34
Renee
Hello Rene,
Das Makro gehört in DieseArbeitsmappe !
Greetz Renee

AW: Mail aus Excel heraus automatisch versenden
18.06.2007 15:11:00
René
Ok, das hab ich jetzt kapiert. Das Makro startet aber nicht selbstständig beim öffnen der Arbeitsmappe. Nach manuellen Start kam vom Outlook die Meldung:
"Eine Anwendung versucht, automatisch Nachrichten in Ihrem Auftrag zu senden. Möchten Sie dies zulassen?" Erst nach positiver Bestätigung wird eine Mail versandt. Kann man diese Abfrage umgehen und ohne Bestätigung die Mail versenden?
Bitte seht mir meine Unkenntnis nach. Ich bin vollkommen neu in VBA.
Grüße René

AW: Mail aus Excel heraus automatisch versenden
18.06.2007 15:20:00
Renee
Mazwara René,
Schreibe statt Sub auto_open() das hier: Private Sub Workbook_Open(), dann startet es automatisch. Das mit der Outlook-Meldung kann man nur mit 3rd-Party Programmen oder komplizierterem Code umgehen. Das ist eine Sicherheitsfeature von Outlook.
Greetz Renee

Anzeige
AW: Mail aus Excel heraus automatisch versenden
18.06.2007 15:33:58
René
Funktioniert Super. Kann man Das Makro so umwandeln das die Überprüfung der Termine fortwährend vorgenommen werden? Das Excel-Tool soll ständig laufen d.h. es wird nur selten ausgeschaltet und wieder geöffnet. Jetzt steht das Problem das das Makro nur beim Öffnen des WB gestartet wird.
Danke für all deine Bemühungen. Grüße

AW: Mail aus Excel heraus automatisch versenden
18.06.2007 16:03:00
Renee
Mazwara René,
Das wird komplizierter. Folgender Code testet/sendet Mails 1 mal pro Stunde.
Kopiere den Code, wie dokumentiert (lösche vorher den alten Code), also oberer Teil in DieseArbeitsmappe und unterer Teil in ein Modul

' This code belongs to ThisWorkbook
' Press Alt-F11
' Select ThisWorkbook from the project-explorer
' and copy the code below into the empty window
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
stopWatch
End Sub
Private Sub Workbook_Open()
dNextRun = Now()
checkAlert
End Sub
' This code belongs to a module
' Press Alt-F11
' Rightclick on the project in the project-explorer
' Select Insert Module and copy the code below into the empty window
Option Explicit
Public dNextRun As Double
Sub stopWatch()
On Error Resume Next
Application.OnTime dNextRun, "watchAlert", schedule:=False
dNextRun = 0
End Sub
Sub watchAlert()
If dNextRun = 0 Then Exit Sub
dNextRun = Now + TimeSerial(1, 0, 0)
Call checkAlert
Application.OnTime dNextRun, "watchAlert", schedule:=True
End Sub
Sub checkAlert()
Dim rCell As Range
Dim objApp As Object
Dim objMailItm As Object
Dim tBRng As String
Dim tReceiver As String
tBRng = "A11:A" & Sheets("ToDo").UsedRange.Rows.Count
tReceiver = Sheets("ToDo").Range("B4")
Set objApp = CreateObject("Outlook.Application")
For Each rCell In Sheets("ToDo").Range(tBRng)
If IsDate(rCell.Offset(0, 5).Value) Then
If rCell.Offset(0, 5) - Date " & vbCrLf & _
"wird am " & rCell.Offset(0, 5).Value & " fällig!"
.Send
End With
rCell.Offset(0, 9).Value = True
Set objMailItm = Nothing
End If
End If
Next
Set objApp = Nothing
End Sub


Zum testen, kannst du diese Zeile:


dNextRun = Now + TimeSerial(1, 0, 0)
ersetzen durch:
dNextRun = Now + TimeSerial(0, 1, 0)


Damit wird jede Minute getestet, statt jede Stunde.
Greetz Renee

Anzeige
AW: Mail aus Excel heraus automatisch versenden
18.06.2007 16:02:16
René
Hallo
hier noch ein paar Fragen. Ich hoffe ich nerve noch nicht zu sehr.
Kann ich auch an mehrere Leute die Mails versenden? Wenn ja wie.
Kann ich auch individuell den einzelnen ToDo's zugeordnete Fristen auslesen lassen und die Mails dann darauf hin automatisch versenden. siehe Tabelle.

Die Datei https://www.herber.de/bbs/user/43355.xls wurde aus Datenschutzgründen gelöscht


Und kann ich meine Standard Outlook Mail-Signatur in die Mail einbeziehen.
Viele Fragen, ich weiß. Aber die sich ergebenden Möglichkeiten fazinieren mich einfach.
Grüße René

Anzeige
AW: Mail aus Excel heraus automatisch versenden
18.06.2007 16:22:00
Renee
Hello René,
Man kann viel, wenn man genug Zeit hat, aber die hab ich nicht.
Also in Kürze:
an mehrere Leute die Mails versenden : In die Zelle address1@mail.com; address2@mail.com etc. schreiben.
individuell den einzelnen ToDo's zugeordnete Fristen : Mach eine neue Kolonne (z.B. K) in der Du die Tagesgrenze einträgst, dann ersetze:

If rCell.Offset(0, 5) - Date 


wobei die 10 die 10te Spalte also K bezeichnet.
Standard Outlook Mail-Signatur ist vielleicht möglich, aber ich weiss nicht wie.
Greetz Renee

Anzeige
AW: Mail aus Excel heraus automatisch versenden
18.06.2007 16:29:34
René
Ich danke dir für die Zeit die du dir genommen hast.
Ich habe das neue Makro in die Arbeitsmappe und in ein Modul kopiert aber nichts passiert.
https://www.herber.de/bbs/user/43357.xls
Das ist wirklich meine letzte Frage!!!
Danke, Danke, Danke!

AW: Mail aus Excel heraus automatisch versenden
18.06.2007 16:44:53
Renee
Sorry keine Idee.
Bei mir läuft das problemlos.
Greetz Renee

AW: Mail aus Excel heraus automatisch versenden
19.06.2007 10:39:37
René
Ich danke dir für deine Hilfe. Ich probier einfach noch ein bischen rum. Vielleicht schaffe ich es ja doch noch. Also vielen Dank nochmal.
Grüße René

208 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige