Hey Stefan,
vielleicht liegt der Fehler ganz woanders? Hast Du evt im Makro irgendwo
Basic-Fehlermeldungen unterdrückt?
so etwas wie .. on error resume next oder so?
In dem Code
Sub sel_change_selectionChanged(vEvent)
Dim vCurrentSelection As Object
vCurrentSelection = vEvent.source.CurrentRow
MsgBox "Selected Row = " & vEvent.source.CurrentRow
print 27
End Sub
zumindest dürfte das mit dem vCurrentSelection nicht funktionieren. Die
Variable ist als Objekt definiert, die Zuweisung liefert aber einen
Long-Wert zurück. Sollte eigentlich ne Basic-Fehler ergeben und somit
einen Stop des Makros.
Kommentiere mal die beiden Zeilen "Dim..." und "vCurrentSelection...."
aus. Die Zeile mit der msgbox müsste eigentlich funktioniern.
Viele Grüße
Thomas
Am 09.09.2022 um 10:30 schrieb Stefan Deutsch:
Hi Thomas,
ich hab es sowohl als Global als auch mit Public probiert. Sie stehen
auch als erstes in dem Modul. Das kuriose ist ja, dass der disposing
anschlägt, wenn ich den Dialog über das Kreuz schließe. Ich hab Präfix
auch nochmal geändert in myselChange_. Das sollte wirklich eindeutig
sein. Werde später nochmal eine andere LiBo-Version ausprobieren, ob es
daran liegt.
Viele Grüße
Stefan
[..]
Am 08.09.2022 um 20:50 schrieb Stefan Deutsch:
Hi Thomas,
Hier mal die letzten Zeilen des Makros, in dem das GridControl mit
Inhalt gefüllt wird. Soweit ich das sehe, hab ich das vom Ablauf
gemacht
wie du in deinem Beispiel.
oGridControl =
createUnoService("com.sun.star.awt.grid.UnoControlGrid")
oGridControl.setModel(oGridModel)
oKommDia.addControl("GridAnzeigeKommission", oGridControl)
oGridDataModel =
oKommDia.Model.getByName("GridAnzeigeKommission").GridDataModel
'Run this macro to start event intercepting
sPrefix = "sel_change_"
sService = "com.sun.star.awt.grid.XGridSelectionListener"
'Create a listener to intercept the selection change events
vSelChangeListener = CreateUnoListener(sPrefix, sService)
'Register the listener to the document controller
oGridControl.addSelectionListener(vSelChangeListener)
iData = oGridDataModel.getCellData(3, iRowAktuell)
oKommDia.getControl("nf_ausgefasst").Value = iData
oKommDia.Controls(7).deselectAllRows
oKommDia.Controls(7).selectRow(iRowAktuell)
oKommDia.execute()
End Sub
Und hier die beiden Subs. disposing wird auch ausgeführt, wenn ich
den
Dialog über das X beende.
Sub sel_change_disposing(vEvent)
print 21
End Sub
Sub sel_change_selectionChanged(vEvent)
Dim vCurrentSelection As Object
vCurrentSelection = vEvent.source.CurrentRow
MsgBox "Selected Row = " & vEvent.source.CurrentRow
print 27
End Sub
[..]
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy
Context
Re: [de-users] Listener im Dialog benutzen · Robert Großkopf
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.