Hallo,
ich möchte zwei Zellen vergleichen und wenn eine grösseren Wert hat als andere, dann soll die Benachrichtigung erfolgen. Wie geht das?
bedingte Benachrichtigung mit sound oder popup
Moderator: Moderatoren
Hallo
Vielleicht solltest du dein Anliegen mal ausführlicher schildern, ich kann den praktischen Nutzen nicht nachvollziehen ? - Im folgenden ein Makro das die Nachbarzellen A1:A31 und B1:B31 des ersten Tabellenblatts nacheinander vergleicht, und bei Ungleichheit einen Systemton ausgibt und ein entspr. Nachrichtfenster aufpoppt.
Gruß Karo
Vielleicht solltest du dein Anliegen mal ausführlicher schildern, ich kann den praktischen Nutzen nicht nachvollziehen ? - Im folgenden ein Makro das die Nachbarzellen A1:A31 und B1:B31 des ersten Tabellenblatts nacheinander vergleicht, und bei Ungleichheit einen Systemton ausgibt und ein entspr. Nachrichtfenster aufpoppt.
Code: Alles auswählen
Sub beepbeep
odoc =Thiscomponent
osheet =odoc.sheets(0)
for z = 0 to 30
zelle = osheet.getcellbyposition(0,z)
zelle2 = osheet.getcellbyposition(1,z)
zwert = zelle.getvalue
zwert2 = zelle2.getvalue
oColumn = zelle.getcelladdress.column
oColumn2 = zelle2.getcelladdress.column
oColumnname=zelle.getColumns.getByIndex(0).getName()
oColumn2name=zelle2.getColumns.getByIndex(0).getName()
zellname=ocolumnname & z+1
zellname2=ocolumn2name & z+1
if zwert <> zwert2 then
beep
msgbox(zellname & " und " & zellname2 & " sind ungleich")
wait 300 'millisekunden ?
end if
end sub
Zuletzt geändert von Karolus am Mo, 19.02.2007 17:53, insgesamt 1-mal geändert.
Auf einer Spalte stehen aktuelle Aktienwerte (werden automatisch von Yahoo geholt), auf der anderen Einstiegswerte. Wenn die letzten erreicht werden, möchte ich benachrichtigt werden.
Danke für dein code, ich habe ihn etwas angepasst und ausprobiert, es läuft!
Noch ein Paar Fragen:
1. Lauft deise Überwachung sobald ich die Tabelle öffne non stop?
2. Kann man zusätzlich die Hintergrundfarbe der entsprechenden Zellen beim Zutreffen der Bedingung ändern?
4. Kann man anstatt beep auch eigene .wav einsetzen?
Danke für dein code, ich habe ihn etwas angepasst und ausprobiert, es läuft!
Noch ein Paar Fragen:
1. Lauft deise Überwachung sobald ich die Tabelle öffne non stop?
2. Kann man zusätzlich die Hintergrundfarbe der entsprechenden Zellen beim Zutreffen der Bedingung ändern?
4. Kann man anstatt beep auch eigene .wav einsetzen?
Hallo
(-->Extras-->Anpassen-->Ereignisse)
Das startet den Code aber auch nur bei der ersten Änderung im Dokument.
Vielleicht hilft dir da ein 'Event Listener' ? weiter - such mal unter diesem Begriff hier in den Foren .
ohne Umbruch, - algemeine Syntax :
Shell ("Pfad zum Abspielprogramm [Leertaste] Pfad zur -.wav Datei")
Gruß Karo
Nein, von sich aus noch nicht, du kannst das Makro aber mit dem Ereigniss 'Dokument wurde geändert - Status' verknüpfen.1. Lauft deise Überwachung sobald ich die Tabelle öffne non stop?
(-->Extras-->Anpassen-->Ereignisse)
Das startet den Code aber auch nur bei der ersten Änderung im Dokument.
Vielleicht hilft dir da ein 'Event Listener' ? weiter - such mal unter diesem Begriff hier in den Foren .
Das geht ganz einfach über eine entsprechende 'bedingte Formatierung', Infos hier:http://www.ooowiki.de/CalcFormatBedingt2. Kann man zusätzlich die Hintergrundfarbe der entsprechenden Zellen beim Zutreffen der Bedingung ändern?
nimm anstatt 'beep' die Codezeile : (Beisp. für Linux Suse 10.2)Kann man anstatt beep auch eigene .wav einsetzen?
Code: Alles auswählen
Shell ("file:///opt/kde3/bin/amarok file:///opt/kde3/share/sounds/KDE_Beep_RingRing.wav ")
Shell ("Pfad zum Abspielprogramm [Leertaste] Pfad zur -.wav Datei")
Gruß Karo
Hallo
Zu deiner ersten Frage hätte ich noch eine Ergänzung :
Wenn du in der letzten Zeile im Makro das Dokument speicherst mit :
wird der 'Dokument geändert Status' zurückgesetzt. Zusammen mit der Verknüpfung an das Ereigniss 'Dokument wurde geändert' hast du dann eine automatische Kontrolle bei geöffnetem Dokument.
Gruß Karo
Zu deiner ersten Frage hätte ich noch eine Ergänzung :
Wenn du in der letzten Zeile im Makro das Dokument speicherst mit :
Code: Alles auswählen
odoc.store()
Gruß Karo
es gibt noch ein PAar unannehmlichkeiten:
1. obwohl ich mein Macro mit dem Ereigniss 'Dokument wurde geändert - Status' verknüpft habe, reagiert er manchmal erst wenn ich Dokument speichere.
2. wenn ich versuche die Hintergrundfarbe mittels
zelle2.CellBackColor = RGB(255,0, 0)
zu ändern, erscheint die Meldung öfters (die Zelle widr dabei durch macro verändert)
3. odoc.store() führt bei mir zur Endlosschleife, die Meldung kommt immer wieder.
1. obwohl ich mein Macro mit dem Ereigniss 'Dokument wurde geändert - Status' verknüpft habe, reagiert er manchmal erst wenn ich Dokument speichere.
2. wenn ich versuche die Hintergrundfarbe mittels
zelle2.CellBackColor = RGB(255,0, 0)
zu ändern, erscheint die Meldung öfters (die Zelle widr dabei durch macro verändert)
3. odoc.store() führt bei mir zur Endlosschleife, die Meldung kommt immer wieder.
Code: Alles auswählen
Sub beepbeep
odoc =Thiscomponent
osheet =odoc.sheets(0)
for z = 1 to 29
zelle = osheet.getcellbyposition(1,z)
zelle2 = osheet.getcellbyposition(3,z)
zelle3 = osheet.getcellbyposition(4,z)
zwert = zelle.getvalue
zwert2 = zelle2.getvalue
zwert3 = zelle3.getvalue
oColumn = zelle.getcelladdress.column
oColumn2 = zelle2.getcelladdress.column
oColumn3 = zelle3.getcelladdress.column
oColumnname=zelle.getColumns.getByIndex(0).getName()
oColumn2name=zelle2.getColumns.getByIndex(0).getName()
oColumn3name=zelle3.getColumns.getByIndex(0).getName()
zellname=ocolumnname & z+1
zellname2=ocolumn2name & z+1
zellname3=ocolumn3name & z+1
If zwert2 <> 0 Then
If zwert <= zwert2 Then
beep
zelle2.CellBackColor = RGB(255,0, 0)
msgbox(zellname & " is under stopmark " & zellname2,64,"sell")
wait 300 'millisekunden ?
End if
End if
If zwert3 <> 0 Then
If zwert >= zwert3 Then
beep
zelle3.CellBackColor = RGB(0,0, 255)
msgbox(zellname & " is over limitmark " & zellname3,64,"by")
wait 300 'millisekunden ?
End if
End if
next
'odoc.store()
End sub