Zugriff auf Markierfeld im Dokument

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

bitpicker
Beiträge: 2
Registriert: Fr, 07.09.2007 14:27

Zugriff auf Markierfeld im Dokument

Beitrag von bitpicker »

Ich fange gerade damit an, erstmalig in die Programmierung mit Star Basic einzusteigen und habe sowas noch nie gemacht. Die folgende Frage mag daher also trivial sein.

Ich habe ein Tabellendokument, in dessen Zelle A1 ich drei Markierfelder gezeichnet habe. Es handelt sich also nicht um einen Dialog, sondern um Elemente direkt in der Zelle. Wie kann ich aus einem Makro heraus auf diese zugreifen?

René Martins Buch 'Open Office Programmierung' geht auf solche Elemente in Dialogen ein, so wird ein Markierfeld z.B. über Dlg.getControl("CheckBox") angesprochen. Aber das funktioniert so nicht bei einer CheckBox, die direkt in der Tabelle liegt. Wie kann ich deren Wert ermitteln (markiert oder nicht)?

Ich hoffe, dass die Frage so verständlich ist, ansonsten erkläre ich gerne mehr...
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Zugriff auf Markierfeld im Dokument

Beitrag von turtle47 »

Versuche es mal hiermit:

Code: Alles auswählen

Sub CheckMyCheckBox
	oForm = ThisComponent.Sheets(0).DrawPage.Forms.getByIndex(0)
	oControl = oForm.getByName("CheckBox")
	if oControl.State = 1 then	
	msgBox "CheckBox ist an"
	else 
	MsgBox "CheckBox ist aus"
	end if
End Sub
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
bitpicker
Beiträge: 2
Registriert: Fr, 07.09.2007 14:27

Re: Zugriff auf Markierfeld im Dokument

Beitrag von bitpicker »

Vielen Dank, das hat mich schon weiter gebracht. Ich muss zwar sheets(3) verwenden, weil es die vierte Tabelle im Dokument ist, aber ansonsten klappt das vorzüglich.

War bestimmt nicht meine letzte Frage... ;)
Antworten