Seite 1 von 1

E-Mail automatisch versenden

Verfasst: Fr, 27.06.2008 11:13
von steve6
Hallo,

besteht die Möglichkeit automatisch eine Mail aus Calc heraus zu senden? Wir haben hier eine Tabelle in der laufend werde eingetragen werden. Wenn jetzt ein bestimmter Wert auf 0 sinkt, dann sollte Calc automatisch eine Mail/Nachricht an eine bestimmte Person versenden.

Frage: Geht so etwas??

Gruß

Re: E-Mail automatisch versenden

Verfasst: Fr, 27.06.2008 13:57
von komma4
Dafür wirst Du ein Makro brauchen, welches die Änderung beobachtet und ggfs. eine Aktion auslöst.

Programmiertechnisch ist das ein LISTENER, siehe mein Beispiel: onColumnChange.
onColumnChange hat geschrieben:Dieses Code-Beispiel beobachtet auf Eingaben (in der Spalte A auf einem Tabellenblatt "Tabelle1") und
...prüft dann ob ein Zielwert erreicht ist. Wenn ja: rufe eine Routine zum Mailversenden.


Auch das Ansteuern / Erzeugen einer Mail war hier schon mal Thema:

Code: Alles auswählen

Sub mailSendDispatcher
email_dispatch_url = "mailto:" + "Empfänger@mail.com" + "cc=" + "subject=Subjekt" + "Body=" + "Hier kommt der Mailtext" 
dispatcher = createUnoService( "com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch( StarDesktop,email_dispatch_url, "", 0, noargs())
End Sub
Anmerkungen:
* ich weiss nicht wie sich die ChangeListener verhalten, wenn gleichzeitig mehrere die Tabelle öffnen.
* ich weiss nicht, welchen Mail-Client ihr nutzt: Outlook ist je nach Sicherheitseinstellungen manchmal zu vorsichtig automatisch Mails zu versenden.


Viel Erfolg!

Re: E-Mail automatisch versenden

Verfasst: Fr, 27.06.2008 15:02
von Stephan
Geht so etwas?
Ja.

Erstelle eine benutzerdefinierte Funktion. Falls Du Outlook als Mailprogramm benutzt z.B.:

Code: Alles auswählen

Function automail(x)
If x = 0 Then
	ser = createUnoService("com.sun.star.bridge.OleObjectFactory")
	msout = ser.createInstance("Outlook.Application")
	olmail = msout.CreateItem(0)
	olmail.to = "abc@web.de"
	olmail.subject = "Test"
	olmail.body = "Nur ein Test"
	olmail.send()
End If
End Function
in der Calc-Tabelle rufe diese Funktion in einer Zelle normal auf, beispielsweise:

Code: Alles auswählen

=AUTOMAIL(A1)
wenn A1 die Zelle ist in der der Wert der Null werden soll überwacht werden soll. Sobald A1 0 wird wird automatisch die gewünschte Email gesendet.



Gruß
Stephan

Re: E-Mail automatisch versenden

Verfasst: Mo, 30.06.2008 10:54
von steve6
Vielen Dank für die Hilfe. Hat prima funktioniert.

Re: E-Mail autom_versenden Danke Stephan !!!

Verfasst: Mo, 30.06.2008 13:24
von Gert Seler
mfg
Gert