Hallo Vera,
Vera Unverzagt schrieb:
Um nicht jedes Mal das Makro von Hand aufrufen zu müssen (vergesse ich
gern so nach einem Jahr :-)), wollte ich das Makro ausführen lassen,
sobald ich das Jahr eingegeben habe und die Zelle verlasse.
Du willst das Makro nicht bei jedem Verlassen, sondern nur nach
einer Änderung der Zelle ausführen.
Dafür brauchst du einen Listener für die entsprechende Zelle:
REM ***** BASIC *****
global oCell
global oListener
Sub AddListener
' add listener for cell C3
oDoc = ThisComponent
oSheet = oDoc.Sheets(0)
oCell = oSheet.getCellByPosition(2,2)
oListener = CreateUnoListener( "Change_",
"com.sun.star.util.XModifyListener" )
oCell.addModifyListener( oListener )
End Sub
Sub RemoveListener
oCell.removeModifyListener( oListener )
End Sub
Sub Change_modified( aEvent )
MsgBox "modified"
End Sub
REM ***** End of BASIC *****
Dieser Code enthält drei Prozeduren:
AddListener nimmt einen Listener für die Zelle C3 in Betrieb, der
auf eine Änderung der Zelle sensibel ist. Du solltest AddListener
über Extras|Anpassen|Ereignisse beim Öffnen der Datei ausführen.
RemoveListener entfernt den Listener wieder, wenn Du ihn nicht mehr
haben willst.
Die Prozedur Change_modified wird ausgeführt, wenn die Zelle
geändert wurde. Hier baust Du also Deine Makroaktionen ein.
Gruß
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]