Seite 1 von 1

[gelöst] - Macro per doppelklick auf zelle starten

Verfasst: Mi 16. Feb 2022, 02:47
von fbarc
Hallo zusammen,

Ich möchte gerne in einer Calc-Tabelle eine Spalte haben, die ich mit "Doppelklick", oder der "Leertaste" mit einem Zeichen fülle, bzw. wieder leere.

Dazu habe ich folgenden Code gefunden:

Code: Alles auswählen

Sub SetMark (oEvent) as boolean
	if ThisComponent.currentSelection.string = "" then
		ThisComponent.currentSelection.string = "X" 
	end if
	SetMark=true
End Sub

In der Beispieldatei aus dem anderen Forum funktioniert das einwandfrei.
Nur mit einfachem kopieren des Codes in mein Dokument funktioniert das leider nicht.

Ich bekomme den Doppelklick nicht zugewiesen.
Ich sehe auch nirgends wo im Demodokument
Doppelklick-markieren.ods
(12.25 KiB) 129-mal heruntergeladen
die Zuweisung stattgefunden hat.
Bei den Ereignissen, die ich gefunden habe gibt es keinen "Klick", oder "Doppel-Klick"

Irgendwo muß da noch was im Dokument sein... nur wo?


Und als 2. Frage dazu:

Ich möchte auch gleich die "Leertaste" dazu benutzen, ebenso die Zelle zu füllen/löschen, im Abwechselnden Modus.
Also wenn "leer", dann schreibe "x" rein
wenn "nicht leer", dann leere die Zelle

Gruß
Fabi

Re: Macro per doppelklick auf zelle starten

Verfasst: Mi 16. Feb 2022, 09:26
von Wanderer
Hallo,

schau mal im Menü: Tabelle -> Ereignisse

Mfg, Jörn

Re: Macro per doppelklick auf zelle starten

Verfasst: Mi 16. Feb 2022, 14:19
von fbarc
Der Menüeintrag war bei mir noch nicht da, ich schwöre!!!

:lol:

Danke... ja, da steht der Aufruf drin.
Hatte ich übersehen.

Vielen Dank

Re: Macro per doppelklick auf zelle starten

Verfasst: Mi 16. Feb 2022, 15:56
von karolus
Hallo

Die Zelle "unter" dem Doppelklick wird an die aufgerufene Prozedur als Argument durchgereicht, das solltest du ausnutzen:

Code: Alles auswählen

Sub SetMark (event)
	if event.string = "" then
		event.string = "X" 
	end if
End Sub
zum Schreiben von "X" oder nix →

Code: Alles auswählen

Sub SetMark (event)
	if event.string = "" then
		event.string = "X" 
	else
	    event.String = ""
	end if
End Sub