Seite 1 von 1

Zugriff auf Markierfeld im Dokument

Verfasst: Mi, 26.09.2007 16:13
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...

Re: Zugriff auf Markierfeld im Dokument

Verfasst: Mi, 26.09.2007 17:23
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

Re: Zugriff auf Markierfeld im Dokument

Verfasst: Mi, 26.09.2007 21:11
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... ;)