Selektion aus Listbox Makro starten

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Selektion aus Listbox Makro starten

von turtle47 » Sa, 10.03.2007 17:49

Hi Thomas,
das mit dem Verstaben buchwechseln ist doch kein Problem. :)

Zum Code:
"mea culpa". :cry:

Irgendwann verstehe auch ich es.
Aber das wird wohl noch ne ganze Weile dauern.

An beide vielen Dank und schönes Restwochenende.

Jürgen

von Toxitom » Sa, 10.03.2007 16:11

Hey Jürgen,

erst mal sorry für die "Buchstaben-Missmatch", passiert im schnellen Tippen ;-)

Zum Code:

Code: Alles auswählen

....oCtr.aSelection("Listbox1")
Was soll das denn sein?

Also, zurück: Mein Code sollte dir den ersten gewählten eintrag in einer Msgbox anzeigen lassen, den kannst du dann natürlich auch in eine Varaible packen - und mit der weiterarbeiten....
Es müsste dan so aussehen:

Code: Alles auswählen

dim aListe()
dim aSelektion()
aListe = oCtl.stringItemList   'die Liste der Einträge
aSelektion = oCtl.selectedItems   'die Liste (positionen) der gewählten Einträge
sInhalt = aListe(aSelection(0))  ' erster gewählter eintrag 
Select Case sInhalt
    Case "Test"
    Makro1
     
    Case "Hallo"
    Makro2
   
End Select 
Viele Grüße
Thomas

von turtle47 » Sa, 10.03.2007 14:19

Hallo Karolus,

Du hast Recht gehabt.
Evtl. liegt daran das ein 'r' eben kein 'l' ist:
Wer lesen kann ist eben klar im Vorteil.
sowas passiert mir auch immer wieder
Wo gehobelt wird da fallen Späne.

Thomas schrieb:
Na ja, und der Rest ist dann wie gehabt...

Code: Alles auswählen

.
.
.
aListe = oCtr.stringItemList   'die Liste der Einträge
aSelektion = oCtr.selectedItems   'die Liste (positionen) der gewählten Einträge
aListe(aSelection())  ' erster gewählter eintrag
inhalt = oCtr.aSelection("Listbox1")
    Select Case inhalt.selectedItem
    Case "Test"
    Makro1
     
    Case "Hallo"
    Makro2
   
    End Select
End Sub
Kommt aber wieder eine Fehlermeldung an der Stelle:

Code: Alles auswählen

inhalt = oCtr.aSelection("Listbox1")
Eigenschaft oder Methode nicht gefunden.
Was ist nun schon wieder los?

Viel Grüße

Jürgen

von Karolus » Sa, 10.03.2007 13:30

Hallo Jürgen
Evtl. liegt daran das ein 'r' eben kein 'l' ist:
(falls du den Code von Thomas etwas zu unkritisch übernommen hast):
Code:
oCtr =
aListe = oCtl......
falls nicht, entschuldige die dumme Antwort, falls doch - sowas passiert mir auch immer wieder . :?

Gruß Karo

von turtle47 » Sa, 10.03.2007 12:54

Hi Thomas

ersmal Danke für die Ausführungen bekomme das aber trotzdem nicht hin. :oops:

Irgendwie stehe ich mit den Objektvariablen auf Kriegsfuss. :twisted:

Wähle ich jetzt einen Eintrag in der Listbox dann kommt an folgender Stelle:

Code: Alles auswählen

aListe = oCtl.stringItemList   'die Liste der Einträge
eine Fehlermeldung.
Obektvariable nicht gefunden
Habe es mal so versucht zuzuweisen:

Code: Alles auswählen

dim aListe as String
Leider ohne Erfolg.
Kann es sein das die Listbox1 nicht gefunden wird?

Freue mich auf Antwort.

Viele Grüße

Jürgen

von Toxitom » Sa, 10.03.2007 09:05

Hey Jürgen,

na ja, im Grunde so ähnlich ;-)

Wenn sich die Listbox direkt im Dokument befindet, ist sie immer Teil eines Formulars. Also musst du Sie zuerst so erhalten (Bsp Calc, Tabelle1, 1. Formular):

Code: Alles auswählen

oCtr = thisComponent.sheets.getByName("Tabelle1").drawpage.forms(0).getByName("Listbox1")
Die Listbox selbst hat jetzt diverse Eigenschaften, unter anderem die "SelectedItems", immer als Array (Short). Auf der anderen Seite gibt es die StringItemList - als Array. Diese listet die Inhalte der Listbox auf. Aus beiden kombiniert erhälst du die gewählten Einträge:

Code: Alles auswählen

dim aListe()
dim aSelektion()
aListe = oCtl.stringItemList   'die Liste der Einträge
aSelektion = oCtl.selectedItems   'die Liste (positionen) der gewählten Einträge
msgbox aListe(aSelection(0))  ' erster gewählter eintrag
Na ja, und der Rest ist dann wie gehabt...

Gruss Thomas

Selektion aus Listbox Makro starten

von turtle47 » Sa, 10.03.2007 00:22

Hallo Zusammen,

habe mal wieder ein Problem.

Mit folgendem Code rufe ich in einem Dialog bei einer Auswahl aus einer Listbox andere Makros auf:

Code: Alles auswählen

Sub StartDialog1
	DialogLibraries.LoadLibrary("Extras")
	oForm = DialogLibraries.Extras.Dialog1
	oDialog = createUnoDialog(DialogLibraries.Extras.Dialog1)
	oDialog.execute
end sub 


Sub MeinMakro
	BasicLibraries.LoadLibrary("Extras")

	inhalt = oDialog.GetControl("ListBox1")
	Select Case inhalt.selectedItem

	Case "Erster Eintrag"
    Makro1
      
    Case "Zweiter Eintrag"
    Makro2
    
    End Select

End Sub
Das funktioniert einwandfrei.
Wie muss der Code lauten wenn sich die Listbox sich nicht in einem Dialog befindet
sondern sich direkt in einem Tabellenblatt befindet.
Habe bei meiner Suche nur Beispiele gefunden die mir Ergebnisse in Verbindung
mit Dialogen angezeigt haben.

Vielen Dank im Vorraus.

Jürgen

Nach oben