Hallo Martin, Stephan,
ich glaube, ihr sprecht von verschiedenen Sachen;)
Martin sucht eine Möglichkeit, in einer Listbnox eines Dialoges eine Mehrfachauswahl vorzunehmen und dann über die Auswahl zu iterieren.
Stephan beschreibt die Möglichkeit, eine Mehrfachauswahl (Zellen) in einem Tabellenblatt wieder aufzudröseln. Das sind unterschiedliche Sachen.
@Martin:
Eigentlich müsste ich auf ein gutes Buch verweisen - dort steht das alles drin ("Makros in OpenOffice.org") - leider ist dies Buch nicht mehr verfügbar. Da Du selbst schreibst, Du bist "Anfänger", ist das schwer, Dir wirklcih zu helfen ohne den kompletten Code zu schreiben (und dazu habe ich jetzt keine Zeit...).
Die Lösung sieht wie folgt aus: Du erzeugst einen Dialog und spendierst ihm eine Listbox. Der Listbox übergibst Du die Liste der Tabellenblatt-Namen, die Du direkt aus dem Dokument auslesen kannst (ist ein Array, die Listbox erwartet einen Array):
Dabei ist oCtl das Objekt Deiner Listbox und oDoc das Objekt deines Dokuments.
Zusätzlich musst Du bei der Listbox die Möglichkeit der Mehrfachauswahl zulassen - geht direkt über die IDE.
Zur Abfrage der gewählten Namen wirst Du dann im Makro den folgenen Codeschnipel verwenden:
Code: Alles auswählen
aListe = oCtl.selectedItems
For i = 0 to ubound(aliste)
sTabName = aListe(i)
....
next
Das wäre die Grundstruktur - die Liste enthält die Namen der gewählten Tabellenblätter - die kannste dann entsprechend weiter bearbeiten.
Brauchst natürlich auch noch Fehlerstrukturen (bsw. wenn gar keine Tabelle gewählt wurde etc.) - aber wie gesagt - das alles ist etwas komplexer;)
Viele Grüße
Tom