Seite 1 von 1
Zellbereich-Auswählen-Dialog
Verfasst: Do, 23.10.2008 19:54
von tobiwan
Hi,
ich hab erst angefangen mich mit Basic zu befassen, und wollte fragen, ob es eine Möglichkeit gibt einem Dialog ein Feld hinzuzufügen, über das man einen Zellbereich per Maus aus der Tabelle direkt auswählen kann (z.B. wie im Dialog für die Änderung des Datenbereichs eines Diagramms in Calc)
Re: Zellbereich-Auswählen-Dialog
Verfasst: Do, 23.10.2008 21:19
von komma4
Willkommen im Forum.
Nein, so ein Steuerelement steht nicht zur Verfügung.
Re: Zellbereich-Auswählen-Dialog
Verfasst: Do, 23.10.2008 22:35
von turtle47
komma4 hat geschrieben:Nein, so ein Steuerelement steht nicht zur Verfügung.
Sorry Winfried wenn ich Dich berichtige, aber in einem per Code erstellten Dialog kann man ein solches Steuerelement erzeugen.
Ein Beispiel dafür ist die Extension
Mottco.
Für einen Einsteiger natürlich nicht gerade der richtige Einstieg.
Jürgen
Re: Zellbereich-Auswählen-Dialog
Verfasst: Do, 23.10.2008 23:05
von Stephan
Ein Beispiel dafür ist die Extension Mottco.
Stimmt - jedoch Anmerkung:
das Ganze funktioniert meines Wissens derzeitig in OOo 3.0 nicht (in z.B. 2.4.0 hingegen schon), das liegt aber an OOo und nicht an mottco.
Gruß
Stephan
Re: Zellbereich-Auswählen-Dialog
Verfasst: Fr, 24.10.2008 11:03
von komma4
turtle47 hat geschrieben:komma4 hat geschrieben:Nein, so ein Steuerelement steht nicht zur Verfügung.
Sorry Winfried wenn ich Dich berichtige, aber in einem per Code erstellten Dialog kann man ein solches Steuerelement erzeugen.
Korrekt, Jürgen, das habe ich übersehen: man kann es erzeugen (besser: nachbilden).
Aber -wie man sieht- ist damit ein erhöhter Programmieraufwand verbunden.
Ein direkt nutzbares Steuerelement (im Dialog-Editor, oder durch ansprechbare, verfügbare Module) gibt's nicht... und für Anfänger ist der Nachbau nicht trivial.
Ich muss mir auch noch mal ansehen, wie die Auswahl mit der Maus erfasst und in den Dialog übernommen wird...
Re: Zellbereich-Auswählen-Dialog
Verfasst: Sa, 25.10.2008 19:01
von Stephan
man kann es erzeugen (besser: nachbilden).
Aber -wie man sieht- ist damit ein erhöhter Programmieraufwand verbunden.
Nee, wirklich nicht.
Das Ganze ist ein fertiger Listener und nicht mehr:
http://api.openoffice.org/docs/common/r ... tener.html
Hier mal der entsprechende wesentliche Code aus mottco:
Code: Alles auswählen
Sub dialog_verkleinern(element)
' verkl_Listener As Object
' verkl_Result As String
' verkl_Select As Boolean
' verkl_Prop(2) As New com.sun.star.beans.PropertyValue
verkl_View = ThisComponent.getCurrentController()
Set verkl_Listener = CreateUnoListener("verkleinernList_","com.sun.star.sheet.XRangeSelectionListener")
verkl_View.addRangeSelectionListener (verkl_Listener)
verkl_Prop(0).Name = "InitialValue"
verkl_Prop(0).Value = ""
verkl_Prop(1).Name = "Title"
verkl_Prop(1).Value = "Zelle "
verkl_Prop(2).Name = "CloseOnMouseRelease"
verkl_Prop(2).Value = False
verkl_Select = False
verkl_View.startRangeSelection(verkl_Prop())
Do While (verkl_Select = False)
'warten auf Selektion
Loop
verkl_View.removeRangeSelectionListener(verkl_Listener)
If verkl_Select = True And Len(verkl_Result) > 0 Then
oDialog1.getControl(element).Text = verkl_Result
End If
End Sub
Ganz im Gegenteil denke ich darüber nach das Ganze doch noch manuell nachzubauen, weil es derzeitig (OOo 3.0) nicht funktioniert. Das ist aber nur die Frage das in 3.0 ein Programmfehleer ist sonst wäre das nicht nötig.
Ein direkt nutzbares Steuerelement (im Dialog-Editor, oder durch ansprechbare, verfügbare Module) gibt's nicht
Nein, natürlich nicht, eine INput-Box setzt sich ja auch nicht aus separat behandelbaren Steuerelementen zusammen.
Gruß
Stephan