Seite 3 von 3

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

Verfasst: Mi, 21.12.2011 15:39
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?

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

Verfasst: Mi, 21.12.2011 15:42
von DPunch
Aloha

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

Code: Alles auswählen

oRange.RangeAddress
Mit 2 d - RangeAddress

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

Verfasst: Mi, 21.12.2011 15:46
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