Häkchen mit der Maus setzen

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

Moderator: Moderatoren

Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Häkchen mit der Maus setzen

Beitrag von Stephan »

z.B.

Weise folgendes Makro dem Tabellenereignis "Doppelklick" zu:#

Code: Alles auswählen

Sub Main
	With ThisComponent.getCurrentSelection
		If .String = "x" Then
				.String = ""
			Else
				.String = "x"
		End If
	End With
End Sub

Gruß
Stephan
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: Häkchen mit der Maus setzen

Beitrag von mikeleb »

Hallo,
wie und wohin muss das?
Das das Makro in das Dokument soll, sollte klar sein (und auch wie). Die Ereigniszuweisung funktioniert gänzlich anders als in Excel.
Du klickst mit der rechten Maustaste auf den Tab des gewünschten Tabellenblattes und wählst "Tabellenereignisse...", wählst "Doppelklick" und klickst dann auf "Makro ...". Dann wählst du das gewünschte Makro.
Ich habe Stephans Makro mal ein bisschen ausgebaut.

Code: Alles auswählen

Sub anwesend(oevent) as boolean
	oTab=oevent.spreadsheet
	oBereich=oTab.getCellRangeByName("A1:C10")
	if oBereich.queryintersection(oevent.rangeaddress).count>0 then
		With oevent
			If .String = "x" Then
					.String = ""
				Else
					.String = "x"
			End If
		End With
		anwesend=true
	else
		anwesend=false
	end if
End Sub
Damit wird nun ein Bereich festgelegt, in dem die "x" mit Doppelklick gesetzt/gelöscht werden. Die Anweisung

Code: Alles auswählen

anwesend=true
sorgt dafür, dass nicht wie üblich (und außerhalb des Bereiches gewollt) der Textcursor in der Zelle landet (was normalerweise beim Doppelklick passiert).
Gruß,
mikeleb
Antworten