Hilfe bei ListBoxen (oder Dialogen)

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Hilfe bei ListBoxen (oder Dialogen)

Beitrag von turtle47 »

Hi SamSept,

versuche es mal hiermit:

Code: Alles auswählen

Sub ListBox_fuellen
odoc=thisComponent
oSheet=odoc.sheets(0)
odraw1=oSheet.drawpage
form1=odraw1.forms.getbyIndex(0)
oContr=form1.getbyname("ListBox")
aListe = array("eins", "zwei", "drei")
oContr.StringItemList = aListe()
End Sub
Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: Hilfe bei ListBoxen (oder Dialogen)

Beitrag von Toxitom »

Hey SamSept,
SamSept hat geschrieben:Wie kann ich, wenn schon etwas in der ListBox steht und stehen bleiben soll, noch weitere Items hinzufügen.
Indem du den Array zuerst ausliest, dann änderst und schliesslich wieder zuweist. Also in der Art:

Code: Alles auswählen

aListe = oContr.StringItemList 
n = UBound(aListe())
redim preserve aListe(n + 1)
aListe (n+1) = "vier"
oContr.StringItemList = aListe
Und den Rest: Na, indem du das Programmierst. Ich verstehe den zweiten Teil deiner Frage nicht. Du markierst etwas, der Button löst ein Makro aus, das wertet die markierten Einträge aus und schreibt sie in die gewünschten Zellen. Wo ist das Problem?

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: Hilfe bei ListBoxen (oder Dialogen)

Beitrag von Toxitom »

Hey SamSept,
samsept hat geschrieben:eigentlich will ich nur wissen wie ich an die indexe der markierten items in einer listbox rankomme.
Ich denke, du solltest dir doch mal entsprechende Literatur zulegen - falls du noch mehr programmieren willst. Das VBA Wissen hilft dir bei OOo wenig.

Über

Code: Alles auswählen

aSelIndexListe = oContr.SelectedItems
erhälst du eine Liste(Array) aller ausgewählten (markierten) Einträge, und zwar der Indices. Übwer die Itemliste und die IndexListe kannst du dann bequem alle gewählten Inhalte auslesen - falls du die brauchst. Aus dem Kopf:

Code: Alles auswählen

aListe = oContr.StringItemList
aSelIndexListe = oContr.SelectedItems
for i = 0 to uBound(aSelIndexListe)
    s = s & i & ": " & aListe(aSelIndexListe(i)) & chr(13)
next
msgbox s
Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten