ich fülle in Calc mehrereListboxen, indem ich ihr einen Zellbereich zuweise:
Code: Alles auswählen
DialogLibraries.LoadLibrary( "Standard" )
GlobalScope.BasicLibraries.LoadLibrary("Tools")
oController = starDesktop.CurrentFrame.Controller
objBlatt = ThisComponent.Sheets().getByName("Listen")
ThisComponent.CurrentController.setActiveSheet(objBlatt)
sBereichsname = "Zielgruppe"
oListe =objBlatt.getCellRangeByName(sBereichsname).GetDataArray()
oListBox=objBlatt.DrawPage.Forms.GetByIndex(0).GetByName("ListBox" & nZaehler)
Redim Preserve sListe(UBound(oListe())) As String
For n2 = LBound(sListe()) To UBound(sListe())
oEintrag() = oListe(n2)
sListe(n2) = oEintrag(0)
Next n2
oListBox.StringItemList = sListe()
xray oListBox
Wenn ich die Liste ändere, soll ein Makro aufgerufen werden, das den aktualisierten Wert in eine Zelle schreibt.
Wie kann ich den Namen der soeben angeklickten ListBox (im Beispiel oben: ListBox11) auslesen?
Ein Zugriff ist möglich:
Code: Alles auswählen
n = 11
oListbox=objBlatt.DrawPage.Forms.GetByIndex(0).GetByName("ListBox" & n)'.GetIndex
Eine Abrage á la
Code: Alles auswählen
strName = oListbox.Name
Ich hab schon lange gesucht & gegoogelt, hier, bei Andrews Makros und in der api, aber anscheinend verstehe ich nicht, an welcher Stelle man ansetzen muss.
Für (kleinere oder größere) Hinweise wäre ich sehr dankbar!
LG Groby