Ich habe noch ein kleines Problem zu dem ich keine Lösung finde.
Ich habe einen Dialog mit mehreren Checkboxen und ich weiß auch wie ich deren Status abrufen kann. (Ausgewählt oder nicht)
Aber wie kann ich es bewerkstelligen. Das die Checkboxen, die ausgewählt wurden. in ein Array geladen werden oder ich benötige dieses Array, da ich eine Datenbankabfrage machen möchte und die eingetragenen Strings, nach und nach in einer Schleife verarbeitet werden. Im Moment habe ich es mit einer Listbox gelöst, aber für den User sind Checkboxen Bequemer...
Makro Dialog, Checkbox, Ausgewählte auslesen
Moderator: Moderatoren
Makro Dialog, Checkbox, Ausgewählte auslesen
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Windows XP Professional SP3 x86
- katzenmann
- Beiträge: 6
- Registriert: Fr, 10.12.2010 18:28
Re: Makro Dialog, Checkbox, Ausgewählte auslesen
@MikeRo,
kurzes Beispiel:
Du hast in der OOo-Datei in der Standardbibliothek einen Filterdialog, in dem der Anwender die Checkboxen "CheckBox0" .. "CheckBox3" mit den Labeln "Nord", "Süd", "Ost", "West" anklicken kann, um z. B. eine Kundentabelle über die Spalte 'Region' zu filtern. Die Label entsprechen den möglichen Werten von 'Region'.
Die Label, sofern aktiviert, sollen in ein Array übernommen werden. Das kann so aussehen...
Übrigens: oCkeckBox.Model.Label entspricht dem Checkbox-Titel bei den (deutschen) Eigenschaften einer Checkbox.
War es das, was Du wissen wolltest?
Viel Erfolg wünscht katzenmann
kurzes Beispiel:
Du hast in der OOo-Datei in der Standardbibliothek einen Filterdialog, in dem der Anwender die Checkboxen "CheckBox0" .. "CheckBox3" mit den Labeln "Nord", "Süd", "Ost", "West" anklicken kann, um z. B. eine Kundentabelle über die Spalte 'Region' zu filtern. Die Label entsprechen den möglichen Werten von 'Region'.
Die Label, sofern aktiviert, sollen in ein Array übernommen werden. Das kann so aussehen...
Code: Alles auswählen
Sub CheckBoxFilter
Dim oDialog as object, oCkeckBox as object
Dim i as integer, iDlgOK as integer
Dim aFilter(3) as string
oDialog = CreateUnoDialog(DialogLibraries.Standard.FilterDialog)
iDlgOK = oDialog.Execute()
if iDlgOK = 1 then ' Ok-Button gedrueckt
for i = 0 to 3
oCkeckBox = oDialog.getControl("CheckBox" & i)
if oCkeckBox.State = 1 then
' Label der eingeschalteten Checkbox in Filter-Array kopieren
aFilter(i) = oCkeckBox.Model.Label
end if
next
end if
' ... SQL-String mit Filterbedingungen
' aus aFilter() zusammensetzen ...
End Sub
War es das, was Du wissen wolltest?
Viel Erfolg wünscht katzenmann
Re: Makro Dialog, Checkbox, Ausgewählte auslesen
Cool Danke!
Habe es hin bekommen, habe nur noch einen Fehler, wenn keine Checkbox ausgewählt wurde, bekomme ich bei meiner Fehlerabfrage einen Fehler.
Habe es hin bekommen, habe nur noch einen Fehler, wenn keine Checkbox ausgewählt wurde, bekomme ich bei meiner Fehlerabfrage einen Fehler.
Code: Alles auswählen
Sub SDialog
DialogLibraries.LoadLibrary("Standard")
oDialog = createUnoDialog(DialogLibraries.Standard.SDialog)
oDialog.execute()
End Sub
Sub CheckBoxFilter
x = 0
for i = 1 to 15
oCkeckBox = oDialog.getControl("CheckBox" & i)
If oCkeckBox.State = 1 Then
' Label der eingeschalteten Checkbox in Filter-Array kopieren
ReDim Preserve aQueries(x)
aQueries(x) = oCkeckBox.Model.Label
x = x + 1
End If
Next
' ... SQL-String mit Filterbedingungen
' aus aFilter() zusammensetzen ...
Call Start
End Sub
Sub Start
for i=LBound(aQueries) to uBound(aQueries)
next
If i = 0 Then
msgbox "Keine Liste Ausgewählt!", 0, "Fehler!"
Else
Call Export
End if
End Sub
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Windows XP Professional SP3 x86
Re: Makro Dialog, Checkbox, Ausgewählte auslesen
Danke für die Hilfe, habe es gelöst. Manchmal hilft ein wenig Learing bei doing^^
Code: Alles auswählen
Sub CheckBoxFilter
aQueries = array()
x = 0
for i = 1 to 15
oCkeckBox = oDialog.getControl("CheckBox" & i)
If oCkeckBox.State = 1 Then
ReDim Preserve aQueries(x)
aQueries(x) = oCkeckBox.Model.Label
x = x + 1
oCkeckBox.State = 0
End If
Next
Call Start
End Sub
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Windows XP Professional SP3 x86