von peterschleif » Do, 17.12.2009 15:31
Hallo Korny.
Zum Mail-Versand:
OpenOffice kann Mails nicht vollautomatisch versenden. Mit createSimpleMailMessage() kann man zwar eine Mail erstellen, allerdings mit zwei Einschränkungen:
1. Die Mail darf keinen Body haben.
2. Die Mail wird nicht von OOo selbst verschickt, sondern nur an das Standard-Mail-Programm übergeben. Was dann damit passiert, kann OOo nicht beeinflussen. Thunderbird zeigt z.B. eine Warnung an, dass eine andere Anwendung versucht eine Mail zu versenden. Die Warnung kann man zwar dauerhaft unterdrücken, was aber wohl ein gewisses Sicherheits-Risiko darstellt.
Ich habe bei mir eine Lösung mittels PHP realisiert. Allerdings muss man dazu einen Ordner mit ein paar PHP-Dateien auf den Rechner kopieren (nicht installieren!) – was aber ja auch nicht immer möglich ist. Dafür erfolgt der Versand aus OOo dann vollautomatisch.
Zum Feld mit der Bedingung Falsch:
Habe ich so verstanden, dass in dem Feld eine Formel steht, die in Abhängigkeit anderer Zellen einen WAHR/FALSCH-Wert berechnet. Bei Falsch müsste dann eine Prozedur gestartet werden, die die Mail versendet.
Dazu müsste man Änderungen an der Tabelle überwachen und darauf reagieren. Das macht man mit einem Listener. Der reagiert dann zwar auf das berechnete Feld, liefert aber einen Bezug zu der/den Zelle(n) die der Berechnung zu Grunde liegen – die also in der Formel vorkommen. Von diesem Bezug müsste dann auf das berechnete Feld zurück schließen, um dessen Wert prüfen zu können. Das geht unter bestimmten Bedingen: Wenn z.B. alle Zellen die in der Formel vorkommen und die Zelle mit der Formel selbst in einer Zeile liegen.
A1: 1
B1: 1
C1: =WENN(A1+B1<3;WAHR;FALSCH)
Ändert man jetzt A1 oder B1 auf 2, so wird C1 FALSCH. In der Mail-Prozedur bekommt man einen Bezug auf A1 oder B1 – je nachdem wo die Änderung gemacht wurde. So oder so war die Änderung aber in Zeile 1, so dass man den Schnittpunkt dieser Zeile mit der Spalte C - also die Zelle C1 - prüfen kann und ggf. die Mail versenden kann.
Peter
Hallo Korny.
[b][u]Zum Mail-Versand:[/u][/b]
OpenOffice kann Mails nicht vollautomatisch versenden. Mit [color=#00BF80][b]createSimpleMailMessage()[/b][/color] kann man zwar eine Mail erstellen, allerdings mit zwei Einschränkungen:
1. Die Mail darf keinen Body haben.
2. Die Mail wird nicht von OOo selbst verschickt, sondern nur an das Standard-Mail-Programm übergeben. Was dann damit passiert, kann OOo nicht beeinflussen. Thunderbird zeigt z.B. eine Warnung an, dass eine andere Anwendung versucht eine Mail zu versenden. Die Warnung kann man zwar dauerhaft unterdrücken, was aber wohl ein gewisses Sicherheits-Risiko darstellt.
Ich habe bei mir eine Lösung mittels PHP realisiert. Allerdings muss man dazu einen Ordner mit ein paar PHP-Dateien auf den Rechner kopieren (nicht installieren!) – was aber ja auch nicht immer möglich ist. Dafür erfolgt der Versand aus OOo dann vollautomatisch.
[b][u]Zum Feld mit der Bedingung Falsch:[/u][/b]
Habe ich so verstanden, dass in dem Feld eine Formel steht, die in Abhängigkeit anderer Zellen einen WAHR/FALSCH-Wert berechnet. Bei Falsch müsste dann eine Prozedur gestartet werden, die die Mail versendet.
Dazu müsste man Änderungen an der Tabelle überwachen und darauf reagieren. Das macht man mit einem Listener. Der reagiert dann zwar auf das berechnete Feld, liefert aber einen Bezug zu der/den Zelle(n) die der Berechnung zu Grunde liegen – die also in der Formel vorkommen. Von diesem Bezug müsste dann auf das berechnete Feld zurück schließen, um dessen Wert prüfen zu können. Das geht unter bestimmten Bedingen: Wenn z.B. alle Zellen die in der Formel vorkommen und die Zelle mit der Formel selbst in einer Zeile liegen.
A1: 1
B1: 1
C1: =WENN(A1+B1<3;WAHR;FALSCH)
Ändert man jetzt A1 oder B1 auf 2, so wird C1 FALSCH. In der Mail-Prozedur bekommt man einen Bezug auf A1 oder B1 – je nachdem wo die Änderung gemacht wurde. So oder so war die Änderung aber in Zeile 1, so dass man den Schnittpunkt dieser Zeile mit der Spalte C - also die Zelle C1 - prüfen kann und ggf. die Mail versenden kann.
Peter