Hallo J.,
Zu Deinem ersten Posting habe ich mir den Code mal angeschaut, mögliche Antworten:
(A)
Du erhälst ein NULL-Objekt, wenn Du den Namen falsch schreibst: hier wird "ListBox1" generiert (im Basic-Editor); Du schreibst: "List
box1"
===
(B)
die Fehlermeldung liegt an der Tatsache, dass kein Eintrag ausgewählt wurde....
===
Fragen:
(C)
was soll die (Leer-)Schleife bis Zeile 391?
Zum Feststellen der letzten Zeichenkette in einem Bereich nehme einen Code wie:
Code: Alles auswählen
Dim Schueler1 as String
Schueler1 = "Tabelle2"
Sheet1=myDoc.Sheets.getbyName(Schueler1)
oBereich = Sheet1.getCellRangeByName( "A2:A99999" )
print oBereich.queryContentCells( _
com.sun.star.sheet.CellFlags.STRING _
).getRangeAddressesAsString()
===
(D) zum schnellen Füllen einer Listbox nehme Arrayfunktionen, das macht sich insbesondere bei grösseren Listen zeitlich bemerkbar:
Code: Alles auswählen
ReDim listElemente( 0 ) as String
enumZellen = oDaten.getCells().createEnumeration()
i = 0
While enumZellen.hasMoreElements()
ReDim Preserve listElemente( i )
listElemente( i ) = enumZellen.nextElement().getString()
i = i + 1
WEnd
[...]
' Setzen der Listbox mit Array von Strings
oListbox1.getModel().StringItemList = listElemente()
===
(E)
Für einen Benutzerdialog sind knapp vierhundert Einträge zu viel. Kannst Du die Anzahl nicht reduzieren, indem Du Gruppen bildest?
===
Jetzt lese ich, dass Du den Versuch aufgegeben hast?