Makro auf Mausklick
Moderator: Moderatoren
-
- ******
- Beiträge: 690
- Registriert: Di, 13.02.2007 17:38
- Wohnort: Büttelborn
Makro auf Mausklick
Hallo Ihr Lieben;
wie man in einem Dialogfeld per Mausklick ein Makro ausführt weiß ich, gibt es auch eine Möglichkeit ein Makro auszuführen wenn irgendwo auf einem Tabellenblatt ein Mausklick erfolgt oder die Returntaste gedrückt wird? Mir fällt da gar nichts dazu ein.
Vielen Dank für eure Mühe!
Grüße
Pit
wie man in einem Dialogfeld per Mausklick ein Makro ausführt weiß ich, gibt es auch eine Möglichkeit ein Makro auszuführen wenn irgendwo auf einem Tabellenblatt ein Mausklick erfolgt oder die Returntaste gedrückt wird? Mir fällt da gar nichts dazu ein.
Vielen Dank für eure Mühe!
Grüße
Pit
- daswaldhorn
- ****
- Beiträge: 196
- Registriert: Mo, 17.05.2004 22:29
- Wohnort: Voerde
- Kontaktdaten:
Re: Makro auf Mausklick
Hallo,
wenn du auf das Tabellenblatt eine Schaltfläche legst (die Symbolleiste "Formular-Steuerelemente" sichtbar machen), kannst du dieser wieder ein Makro zuweisen, schau mal in die Beispieldatei von Balu in diesem Thread. Bei der Return-Taste bin ich auch überfragt.
Gruß, Carsten
wenn du auf das Tabellenblatt eine Schaltfläche legst (die Symbolleiste "Formular-Steuerelemente" sichtbar machen), kannst du dieser wieder ein Makro zuweisen, schau mal in die Beispieldatei von Balu in diesem Thread. Bei der Return-Taste bin ich auch überfragt.

Gruß, Carsten
-
- ******
- Beiträge: 690
- Registriert: Di, 13.02.2007 17:38
- Wohnort: Büttelborn
Re: Makro auf Mausklick
Lieber Carsten,
vielen Dank für die schnelle Hilfe aber ich glaube das bringt mich nicht weiter. Ich möchte keine Schaltfläche auf dem Blatt haben. Ich erkläre vielleicht kurz worum es geht:
Ich mache mit meinen Schülern in Mathematik im Jahrgang 10 nach den Prüfungen und kurz vor den Ferien einen kleine Programmier-, Tabellenkalkulation- und Makrokurs. Jetzt fanden sie das alles zu langweilig und wollten mich vielleicht mit der Frage herausfordern ob man damit nicht auch "Snake" programmieren kann. Ich habe jetzt kurz nachgedacht und wollte eine "Schlange" (z.B. "o"s) per Zufallszahlen auf dem Blatt sich bewegen lassen und die Schüler sollen versuchen, sie mit einer "Mauer" (z.B. "x") einzufangen. Die Schüler setzen ein "x" in eine Zelle und die Schlange geht ein Feld weiter. Nach jedem Betätigen der Returntaste soll der nächste Schritt (Makro) ausgeführt werden. Es wäre blöd wenn man nach dem Plazieren des "x" noch eine Schaltfläche anklicken müsste.
Grüße
Pit
vielen Dank für die schnelle Hilfe aber ich glaube das bringt mich nicht weiter. Ich möchte keine Schaltfläche auf dem Blatt haben. Ich erkläre vielleicht kurz worum es geht:
Ich mache mit meinen Schülern in Mathematik im Jahrgang 10 nach den Prüfungen und kurz vor den Ferien einen kleine Programmier-, Tabellenkalkulation- und Makrokurs. Jetzt fanden sie das alles zu langweilig und wollten mich vielleicht mit der Frage herausfordern ob man damit nicht auch "Snake" programmieren kann. Ich habe jetzt kurz nachgedacht und wollte eine "Schlange" (z.B. "o"s) per Zufallszahlen auf dem Blatt sich bewegen lassen und die Schüler sollen versuchen, sie mit einer "Mauer" (z.B. "x") einzufangen. Die Schüler setzen ein "x" in eine Zelle und die Schlange geht ein Feld weiter. Nach jedem Betätigen der Returntaste soll der nächste Schritt (Makro) ausgeführt werden. Es wäre blöd wenn man nach dem Plazieren des "x" noch eine Schaltfläche anklicken müsste.
Grüße
Pit
Re: Makro auf Mausklick
Hallo Pit,
mit dem Thema habe ich letztens einige Abende verbracht,
hier der Code, der auf einem Calc Sheet funktioniert: Wenn man jetzt "setup_handler" unter Extras/Anpassen/Ereignisse auf "Dokument öffnen" und "remove_handler" auf "Dokument wird geschlossen" legt, funzt es.
Viel Spaß damit
Gruß R
mit dem Thema habe ich letztens einige Abende verbracht,
hier der Code, der auf einem Calc Sheet funktioniert:
Code: Alles auswählen
global myKeyHandler as object
global myMouseClickHandler as object
sub setup_handler
SetupMouseClickHandler
SetupKeyHandler
end sub
sub remove_handler
RemoveMouseClickHandler
RemoveKeyHandler
end sub
sub SetupMouseClickHandler
oController = thisComponent.currentController
myMouseClickHandler = CreateUnoListener("MouseClickHandler_","com.sun.star.awt.XMouseClickHandler")
oController.addMouseClickHandler(myMouseClickHandler)
end sub
sub RemoveMouseClickHandler
On Error Resume Next
oController = thisComponent.currentController
oController.removeMouseClickHandler(myMouseClickHandler)
On Error Goto 0
end sub
function MouseClickHandler_mousePressed(oMouseEvent) as boolean
MouseClickHandler_mousePressed = false
end function
Function MouseClickHandler_mouseReleased(oMouseEvent) As Boolean
On Error Goto err
if oMouseEvent.ClickCount = 2 then Msgbox "Doppelklick"
err:
On Error Goto 0
MouseClickHandler_mouseReleased = False
End Function
Sub MouseClickHandler_disposing(oMouseEvent)
'
End Sub
sub SetupKeyHandler
oController = thisComponent.currentController
myKeyHandler = CreateUnoListener("KeyHandler_","com.sun.star.awt.XKeyHandler")
oController.addKeyHandler(myKeyHandler)
end sub
sub RemoveKeyHandler
oController = thisComponent.currentController
oController.removeKeyHandler(myKeyHandler)
end sub
Sub KeyHandler_disposing(oKeyEvent)
'
End Sub
function KeyHandler_keyPressed(oKeyEvent) as boolean
KeyHandler_keyPressed = false
if oKeyEvent.KeyCode=1280 then msgbox "Return-Taste"
end function
Function KeyHandler_KeyReleased(oKeyEvent) As Boolean
KeyHandler_KeyReleased = false
End Function
Viel Spaß damit
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
-
- ******
- Beiträge: 690
- Registriert: Di, 13.02.2007 17:38
- Wohnort: Büttelborn
Re: Makro auf Mausklick
Lieber R,
... sieht ja erstmal recht umfangreich aus. Ich werde es testen - vielen Dank erstmal.
Sehe ich es richtig, dass mein Code hier rein muss:
Grüße
Pit
... sieht ja erstmal recht umfangreich aus. Ich werde es testen - vielen Dank erstmal.
Sehe ich es richtig, dass mein Code hier rein muss:
?Sub KeyHandler_disposing(oKeyEvent)
'
End Sub
Grüße
Pit
Re: Makro auf Mausklick
Hallo Pit,
Da wo oder steht, ruftst Du deinen eigenen Code auf.
Gruß R
Nein, dass siehst Du nicht richtig, die sub ist so kurz.erikafuchs hat geschrieben:Sehe ich es richtig ...
Da wo
Code: Alles auswählen
Msgbox "Doppelklick"
Code: Alles auswählen
msgbox "Return-Taste"
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Makro auf Mausklick
Noch ein kleiner Tipp, mit hast Du Zugriff auf die Zelle in die Du einen Doppelklick gemacht hast, oder in der Du die Return Taste gedrückt hast.
Gruß R
Code: Alles auswählen
ocell = ThisComponent.CurrentSelection
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO