Seite 1 von 1

OOo Basic ListBox füllen (Calc mit Filter)

Verfasst: Mo, 24.09.2012 23:23
von marc 70
Hi
ich benutze in einem Dialog eine ListBox.
Sie wird gefüllt aus einem Calc Dokument.
Wenn ich jetzt aber einen Filter, in der Calc Tabelle anwende, werden trotzdem alle Zellen eingelesen.

Code: Alles auswählen

sub
        mySheet = oDok.sheets.getByName("Sheet1")
		oCellRangeSource = mySheet.getCellRangeByName("A1:A600")
	    aSourceDataArray() = oCellRangeSource.getDataArray()
	    reDim aSource(UBound(aSourceDataArray())) as String
		    For I = LBound(aSource()) To UBound(aSource())
		    aDataArrayRow()   = aSourceDataArray(I)
	        aSource(I) = aDataArrayRow(0)
		    Next I
	    oDialog1.Model.getByName("ListBox1").StringItemList = aSource()     
end sub
wie kann man jetzt die ListBox nur mit den sichtbaren Zellen befüllen.
Das einzige was ich gefunden hab ist "queryVisibleCells()", bekomme es damit aber leider nicht hin.

hat da jemand eine Idee und kann mir weiterhelfen?

gruß marc

Re: OOo Basic ListBox füllen (Calc mit Filter)

Verfasst: Mo, 24.09.2012 23:54
von Stephan
Das einzige was ich gefunden hab ist "queryVisibleCells()", bekomme es damit aber leider nicht hin.

hat da jemand eine Idee und kann mir weiterhelfen?
z.B.:

Code: Alles auswählen

Dim aSource()
 
mySheet = oDok.sheets.getByName("Sheet1")
oCellRangeSource = mySheet.getCellRangeByName("A1:A600")

x = oCellRangeSource.queryVisibleCells
zellen = x.getCells.CreateEnumeration 
while (zellen.hasMoreElements())
   zelle = zellen.nextElement()
   tmp = UBOUND(aSource())
   Redim Preserve aSource(tmp+1)
   aSource(tmp+1) = zelle.Value
wend

oDialog1.Model.getByName("ListBox1").StringItemList = aSource()



Gruß
Stephan

Re: OOo Basic ListBox füllen (Calc mit Filter)

Verfasst: Di, 25.09.2012 17:14
von marc 70
Hi,
danke für die schnelle Hilfe.
Geht jetzt, so wie es soll.... :D

gruß marc