[Gelöst] Nicht ausgewählte ListBox einträge auslesen?

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [Gelöst] Nicht ausgewählte ListBox einträge auslesen?

Re: [Gelöst] Nicht ausgewählte ListBox einträge auslesen?

von MikeRo » Di, 01.02.2011 14:11

Danke, habe schon eine Lösung gefunden und oben gepostet.

Re: Nicht ausgewählte ListBox einträge auslesen?

von komma4 » Di, 01.02.2011 06:42

.removeByName erwartet eine Zeichenkette, kein Array von Zeichenketten.

Nur mal so, als Anmerkung.

In der Bibliothek TOOLS finden sich Routinen zur Bearbeitung von Arrays. Vielleicht ist da etwas dabei (nach dem Muster array1 - array2)

Nehme meine Erweiterung BTL2 - BasicTextListe2zur Erstellung eines lesbaren Dokuments der installierten Makros.


HTH, Viel Erfolg!

[Gelöst] Nicht ausgewählte ListBox einträge auslesen?

von MikeRo » Mo, 31.01.2011 18:55

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

Nach oben