Hallo,

Karl Gust-Stiehl schrieb:
> den Listender wie unten von Jörg vorgeschlagen kriege ich
> nicht zum laufen
> d.h. ich war zwar einmal soweit, das ich den event im
> Beobachter hatte.
> Dann hatte ich individuelle Namen vergeben.. und es ging nicht mehr
>
> aber auch nach dekativiern und einkopieren des orginal
> code(s.u.)  tut sich
> gar nichts außer:
>
> dass bei schließen des Docs noch der Fehler   " ....
> noscript" erscheint,
> obwohl "Listener_entfernen" bei "Dokument wird geschlossen"
> zugwiesen ist

kann ich zu Allem eher nichts sagen, außer das der Code funktionieren
sollte.

> Außerdem  müsste doch auch "oEvent" deklariert werden, oder?

im Konkreten brauchst Du oEvent garnicht da damit nichts getan wird, es
wird nicht schaden es zu deklarieren, Du kannst es aber auch weglassen:

Sub jms_activeSpreadsheetChanged()
'...

> und müßte das wiederholte definieren des Listeners beim debuggen
> ausgeschlossen werden?

im Prinzip schon, aber bei 3 Zeilen Code gibt es kaum was zu gebuggen

> Wie kann ich Haltepunkte im Dateiöffnen-Makro definieren?

Setze in der Basic-IDE den Cursor in die Zeile wo der Haltepunkt sin
soll und klicke auf Haltepunkt setzen (roter Kreis mit weißem Pfeil)

> Wo finde ich amschnellsten genauere Infos

in der IDL-Referenz:
http://api.openoffice.org/docs/common/ref/com/sun/star/module-ix.html

> (Versionspropbleme?)

wenn nicht zufällig der Richtige (hier oder anderswo) mitliest,
allenfalls im issuetracker:
http://api.openoffice.org/issues/query.cgi


> oder ein
> spezielles Basic-Forum?

das Basic-Forum im internationalen OOo-Forum dürfte das größte Forum zu
Fragen von StarBasic sein:
www.oooforum.org/

>
> ich habe im Internet Hinweise auf einen anderen Listener entdeckt
>
> oCrngData = CreateUnoListener(
> "CrngListener_","com.sun.star.util.XModifyListener" )
> oCrng.addModifyListener( oCrngData )
> ????

Naja, damit kannst Du beispielsweise das Ereignis auffangen wenn sich
Zellinhalte ändern, wenn ich Deine Anforderungen noch richtig im Kopf
habe ging es Dir doch aber um das Aktivieren eines Tabellenblattes, also
wird Dir das nichts nützen.

Falls es wider Erwarten doch um Zellen geht, gibt es verschiedene
Möglichkeiten:

'ganzes Blatt:
Sub Listener_registrieren()
objekt = ThisComponent.Sheets(0)
oCrngData = CreateUnoListener(
"CrngListener_","com.sun.star.util.XModifyListener")
objekt.addModifyListener(oCrngData)
End Sub

'Zellbereich:
Sub Listener_registrieren()
objekt = ThisComponent.Sheets(0).GetCellRangeByName("A1:E10")
oCrngData = CreateUnoListener(
"CrngListener_","com.sun.star.util.XModifyListener")
objekt.addModifyListener(oCrngData)
End Sub

'Reicht Dir die Feststellung des Events auf dem Blatt oder im
Zellbereich verwende:
Sub CrngListener_Modified(oEvent)
'Msgbox oEvent.Source.dbg_properties
End Sub

'brauchst Du die Zelle verwende:
Sub CrngListener_Modified(oEvent)
x =
ThisComponent.createInstance("com.sun.star.table.CellAddressConversion")
x.Address = ThisComponent.getCurrentSelection.getCellAddress
msgbox x.UserInterfaceRepresentation
End Sub


'einzelne Zelle
Sub Listener_registrieren()
objekt = ThisComponent.Sheets(0).GetCellRangeByName("A1")
oCrngData = CreateUnoListener(
"CrngListener_","com.sun.star.util.XModifyListener")
objekt.addModifyListener(oCrngData)
End Sub



Gruß
Jörg

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an