von Frank Lauer » Sa, 07.05.2005 17:36
Hoi Manfred,
ich geh mal davon aus, das du nicht Excel sondern Calc (das OOo "Excel") meinst.
Für das, was du vorhast brauchst du einen Listener.
Code: Alles auswählen
Global oListener As Object
'einrichten des Listeners
Sub initializeListener
'Erzeugt einen Listener
oListener = CreateUnoListener( "ModifyListener_", "com.sun.star.util.XModifyListener" )
'Holt sich das aktuelle Dokument
oDocument = ThisComponent
'Weist den Listener der Zelle A1 der 1. Tabelle zu
oDocument.sheets(0).getCellByPosition(0,0).addModifyListener(oListener)
End Sub
'Wird aufgerufen wenn sich die Zelle ändert (der Name muss mit dem String anfangen den du oben
'an CreateUnoListener übergeben hast.
Sub ModifyListener_modified(oEvent)
if (ThisComponent.sheets(0).getCellByPosition(0,0).value = 1) Then MSGBOX(1)
if (ThisComponent.sheets(0).getCellByPosition(0,0).value = 2) Then MSGBOX(2)
if (ThisComponent.sheets(0).getCellByPosition(0,0).value = 3) Then MSGBOX(3)
End Sub
Bevor der Listener läuft musst du initializeListener aufrufen. Wenn der Listener beim Start des Dokumentes laufen solltest du diese Funktion über Extras/Makros/Makro => zuordnen => Ereignisse dem Öffnen des Dokumentes zuordnen.
Hoi Manfred,
ich geh mal davon aus, das du nicht Excel sondern Calc (das OOo "Excel") meinst.
Für das, was du vorhast brauchst du einen Listener.
[code]
Global oListener As Object
'einrichten des Listeners
Sub initializeListener
'Erzeugt einen Listener
oListener = CreateUnoListener( "ModifyListener_", "com.sun.star.util.XModifyListener" )
'Holt sich das aktuelle Dokument
oDocument = ThisComponent
'Weist den Listener der Zelle A1 der 1. Tabelle zu
oDocument.sheets(0).getCellByPosition(0,0).addModifyListener(oListener)
End Sub
'Wird aufgerufen wenn sich die Zelle ändert (der Name muss mit dem String anfangen den du oben
'an CreateUnoListener übergeben hast.
Sub ModifyListener_modified(oEvent)
if (ThisComponent.sheets(0).getCellByPosition(0,0).value = 1) Then MSGBOX(1)
if (ThisComponent.sheets(0).getCellByPosition(0,0).value = 2) Then MSGBOX(2)
if (ThisComponent.sheets(0).getCellByPosition(0,0).value = 3) Then MSGBOX(3)
End Sub
[/code]
Bevor der Listener läuft musst du initializeListener aufrufen. Wenn der Listener beim Start des Dokumentes laufen solltest du diese Funktion über Extras/Makros/Makro => zuordnen => Ereignisse dem Öffnen des Dokumentes zuordnen.