ich habe im Makro eine Variable oItemPos, die jetzt beispielsweise den Wert 5 hat. Dann zeichne in den Dialog mit der Listbox, befülle die Listbox und möchte nachher den Eintrag mit dem Index 5 vorselektieren in der Listbox.
Wenn ich den Dialog aufrufe, ist aber leider nichts vorselektiert (Listbox ist aber gefüllt und der Eintrag mit dem Index 5 ist auf jeden Fall vorhanden)
Hier der Code dazu:
Code: Alles auswählen
'Dialog erzeugen
oSheet = ThisComponent.getCurrentController().getActiveSheet()
oDialogModel = createUnoService( "com.sun.star.awt.UnoControlDialogModel" )
oDialogModel.Title = "Mitarbeiter Auswahl"
oDialogModel.Name = "Dialog_Mitarbeiter"
oDialogModel.BackgroundColor = RGB(230,230,230)'&HCCCCFF
oDialogControl = createUnoService( "com.sun.star.awt.UnoControlDialog" )
oDialogControl.setModel( oDialogModel )
oDialogControl.setPosSize( 120, 130, 400, 300, com.sun.star.awt.PosSize.POSSIZE)
'Listbox zeichnen
oModel = oDialogModel.createInstance("com.sun.star.form.component.ListBox")
oModel.DropDown = true
oDialogModel.insertByName("ListBox1", oModel)
oModel.Name = "ListBox1"
oControl = oDialogControl.getControl("ListBox1")
oModel.MultiSelection = false
oModel.BackgroundColor = RGB (255,255,255)
oModel.FontHeight = 7
oModel.LineCount = 1
oControl.setDropDownLineCount 12
oControl.setPosSize(170, 50, 170, 20, com.sun.star.awt.PosSize.POSSIZE)
'Listbox fuellen
[...]
oListBox1 = oDialogControl.getControl("ListBox1")
While oResultSet1.Next()
b = oResultSet1.getString(1) '1. Spalte in Tabelle
aListe1 = oListBox1.getModel().StringItemList
n = UBound(aListe1())
redim preserve aListe1(n + 1)
aListe1 (n+1) = b
oListBox1.getModel().StringItemList = aListe1
Wend
'Eintrag mit Index 5 vorselektieren
oListBox1.SelectItemPos(oItemPos_global, true)
oDialogControl.setVisible( True )
oDialogControl.execute
oDialogControl.endExecute
Weiß jemand, was ich da falsch mache?
Edit: sobald ich der Listbox1 einen Event Listener hinzufüge und die Codezeile oListBox1.SelectItemPos(oItemPos_global, true) im Listener habe, funktioniert es komischerweise... aber das ist ja leider nicht Sinn der Sache und unbrauchbar für mich, da der Eintrag mit dem Index oItemPos ja schon vorselektiert sein soll, wenn der Dialog gestartet wird.