Hallo, ich habe mal wieder ein Problem,
ich habe einen Dialog mit einer ListBox, der hat 15 Einträge
Code: Alles auswählen
Sub StandortlistenDialog
DialogLibraries.LoadLibrary("Standard")
oDialog = createUnoDialog(DialogLibraries.Standard.StandortlistenDialog)
oView = oDialog.getView()
oModel = oDialog.getModel()
oBut = odialog.getControl("ListBox1").getModel()
oDialog.execute()
Endsub
Hier der Teil aus dem anderen Code der benötigt wird.
Code: Alles auswählen
oAuswahl = odialog.getControl("ListBox1").getSelectedItems()
oAlleEintraege = odialog.getControl("ListBox1").getItems()
oTabelle = oDoc.sheets.removeByName(oNichtAusgewält)
Ich Habe eine Vorlage mit mehreren Sheets. Es sollen aber nur die ausgewählten bleiben, die anderen sollen gelöscht werden.
Wie bekomme ich das (oNichtAusgewält) Array, in dem nur die Listeneinträge sind, die nicht Ausgewählt wurden.
Kann mir da wer helfen?
*Edit
So hier die Lösung des Problems. Es werden die beiden Arrays verglichen und ein neues erstellt.
Code: Alles auswählen
Sub ListenVergleichen
rem-----------Anfang
Dim found
f = 0
For m = 0 To UBound(aAllQueries)
For t = 0 To UBound(aQueries)
If UCase(aAllQueries(m)) = UCase(aQueries(t)) Then
'match
found = false
exit for
Else
'no match
found = true
End If
Next
If found Then
ReDim Preserve aQueriesUnselected(f)
aQueriesUnselected(f) = aAllQueries(m)
f = f + 1
End If
Next
For z = 0 To UBound(aQueriesUnselected)
oTabelle = oDoc.sheets.removeByName(aQueriesUnselected(z))
Next
rem-----------Ende
End sub