[Gelöst] List Box über Makro ansprechen/Ausgabe verarbeiten?

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

Moderator: Moderatoren

CamuelSpenser
**
Beiträge: 32
Registriert: Mo, 19.12.2011 11:52

Re: List Box über Makro ansprechen und Ausgabe verarbeiten?

Beitrag von CamuelSpenser »

Ja, ich benutze Option Explicit, hab jetzt so eingegeben einfach mit dim oRange, jedoch bekomm ich in folgender Zeile immer noch den Error, dass er weder Adress noch RangeAdress als kennt.

Code: Alles auswählen

aRangeProperty(0).Value = oRange.RangeAdress
kannst du mir da vllt noch weiterhelfen? testweise hab ich es auch mal ohne Option Explicit ausgeführ, bekomme jedoch die gleiche Fehlermeldung?
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: List Box über Makro ansprechen und Ausgabe verarbeiten?

Beitrag von DPunch »

Aloha

Du solltest den Code vielleicht besser kopieren, anstatt ihn abzutippen ;)

Code: Alles auswählen

oRange.RangeAddress
Mit 2 d - RangeAddress
CamuelSpenser
**
Beiträge: 32
Registriert: Mo, 19.12.2011 11:52

Re: List Box über Makro ansprechen und Ausgabe verarbeiten?

Beitrag von CamuelSpenser »

Hoppla, Entschuldige vielmals ^^
sry dumme Angewohnheit, schreib halt meist lieber selber auch wenn ich nur was abtipsel, weil dabei kann man ja auch noch was lernen :)

Jedenfalls funktionniert as jetzt auch ^^ *uffa* :D

Nun kann ich meine LB's mal abschliessen ^^

Und dann in naher Zukunft muss ich mich mit CheckBoxen und Rows asueinandersetzen ^^

LG und Vielen Dank an euch Alle :D



Edit :

Hier nun mal der Fertige Code, wie ich ihn jetzt im Dokument drin hab, ist durch eine Große Hilfe von balu und DPunch zustande gekommen. :)

P.S: @balu mit deiner Logik mit LB umbenennen war schon sehr gut, dabei hab ich gemerkt, dass meine LB Stärke + 7 = LB Bezeichnung

Code: Alles auswählen

REM  *****  BASIC  *****
Option Explicit

Sub Staerke_Change(oEvent)
dim oAuslesen, oDocument, oSheet, oDraw, oForm, oControler as Object
dim oListe, oListBox as Object
dim oListBoxNr as Integer
dim aRangeProperty(0) as new com.sun.star.beans.NamedValue
dim oRange, oListSource
	oAuslesen  = oEvent.Source.Model.Name
	oDocument  = StarDesktop.CurrentComponent
	oSheet     = oDocument.Sheets.GetByName("Bestellformular")
	oDraw      = oSheet.DrawPage
	oForm      = oDraw.Forms.GetByIndex(0)
	oControler = oDocument.GetCurrentController
	oListBox   = oControler.GetControl(oForm.GetByName(oAuslesen))
	oListBoxNr = Val(Right(oForm.getByName(oAuslesen).Name,2))
	Select case oListBox.SelectedItemPos 
		Case 0 : oRange = oDocument.Sheets.GetByName("HILFSTABELLE").GetCellRangeByName("$A$2")
		Case 1 : oRange = oDocument.Sheets.GetByName("HILFSTABELLE").GetCellRangeByName("$A$2:$A$26")
		Case 2 : oRange = oDocument.Sheets.GetByName("HILFSTABELLE").GetCellRangeByName("$B$2:$B$55") 
		Case 3 : oRange = oDocument.Sheets.GetByName("HILFSTABELLE").GetCellRangeByName("$C$2:$C$70")
		Case 4 : oRange = oDocument.Sheets.GetByName("HILFSTABELLE").GetCellRangeByName("$D$2:$D$45")
	End Select
	aRangeProperty(0).Name  = "CellRange"
	aRangeProperty(0).Value = oRange.RangeAddress
	oListSource             = oDocument.CreateInstanceWithArguments("com.sun.star.table.CellRangeListSource",aRangeProperty) 
	oListe                  = oForm.GetByName("List Box " & oListBoxNr + 7)
	oListe.ListSourceType   = com.sun.star.form.ListSourceType.TABLEFIELDS
	oListe.ListEntrySource  = oListSource
End Sub
Antworten