Ahoi inr lieben ^^
hab nu ma bissle rumgetestet mit euren beiden Vorschlägen...
@DPunch :
Wie ich deinem Vorschlag entnehme würdest du (wenn ich den Code Richtig interpretiere), Auf den QuellZellenBereich zugreifen und diesen zu ändern? Dies würde mir persönlich natürlich sehr zuvorkommen, da ich dies für andere Bereiche später auch noch benötigen würde bzw. bevorzugen

Jedoch, bekomme ich eine Fehlermeldung mit der ich nicht umzugehen vermag bzw. nicht versteh was damit gemeint ist und zwar : "Fehler in Klammerschachtelung" in foglender Zeile :
Code: Alles auswählen
oListSource = oDocument.CreateInstanceWithArguments("com.sun.star.table.CellRangeListSource".aRangeProperty)
Edit :
Hab die "" mal entfernt, nun gibt er mir die Fehlermeldung die Variable oRange sei nicht definiert, weiss aber nicht als was ich sie definieren soll, hab versucht mit Variant und Object aber beide male bekomm ich danach die Fehlermeldung, dass er Adress nicht als Eigenschaft resp. Methode kennt.
Edit Ende
@balu : deine Version geht schon genau in die Richtung wie das ganze funktionnieren soll
jedoch ein paar Winzige Probleme, wenn ich z.B. bei Stärke den Eintrag "" auswähle,
bekomme ich eine Fehlermeldung in folgender Zeile :
Code: Alles auswählen
oSelctAdr = oHilfTab1.getCellByPosition(Pos-1,1).string
Fehlermeldung :
BASIC-Laufzeitfehler. Es ist eine Excepton aufgetreten
Type : com.sun.star.lang.IndexOutOfBoundsException
Message.
Die Fehlermeldung kann ich soweit ganz gut nachvollziehen, da in diesem Fall ja "Pos" = 0 ist und somit würde an getCellByPosition ja der Wert (-1,1) übergeben werden, wenn ich mich nicht irre, oder?
Damit versucht er ja dann auf eine Zelle zuzugreifen die nicht existiert und somit auch nicht erreicht werden kann?
Ansonsten funktionniert das ganze schon ziemlich gut
... Dies habe ich soeben auch gelöst bekommen mit ner if abfrage, bei welcher ich überprüfe ob Pos grösser ist als 0, wenn nicht wird sie per Nulllist() geleert.
Code: Alles auswählen
oListe1 = oForm.GetByName("List Box 7")
oListBox1 = oControler.GetControl(oListe1)
Pos = oListBox1.SelectedItemPos
oListe2 = oForm.GetByName("List Box 14")
oListBox2 = oControler.GetControl(oListe2)
if Pos > 0 then
oSelctAdr = oHilfTab1.getCellByPosition(Pos-1,1).string
oHilfsTabelle = oHilfTab1
oLiboAdr = oSelctAdr
oLiboNam = "List Box 14"
ListBoxFuellen
else
oListBox2.Model.StringItemList = Nulllist()
end if
Hab zwar etwas gebraucht um die eingesetzte Formel zu verstehen, aber ich denke habs nun raus ^^
(schon etwas komplizierter wenn die Befehle da auf Deutsch stehn und nicht auf Englisch)
Was den Makro-Code angeht kann ich mir das meiste ziemlich gut vorstellen, momentan glaub ich alles zu verstehn sollten noch Fragen auftreten melde ich mich.
***
Wenn meine Interpretationen Richtig sind scheinen beider Versionen Erfolgversprechend zu sein ^^
Jetzt kommt noch eine große Hürde gibt es im StarBasic ein Gegenstück zum Application.Caller aus VBA?
Dadürch könnte ich meinen eventuell entstehenden Code auch verkleinern wieder, da ich das Makro für mehrere ListBoxen benutzen will, bei denen das Verhalten, das gleiche sein soll..
LG Camuel
und btw schon einen riesen Danke an euch für eure Hilfe
