ダブルクリックアクションの検知

Calc でダブルクリックアクションの検知をするには、シートイベントから設定する他ないのでしょうか?

できればマクロで操作したいのですが

ThisComponentはXModelを実装しており、そのgetCurrentControllerメソッドの戻り値が、(Calcの場合)SpreadsheetViewサービスです。

https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1frame_1_1XModel.html

https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1frame_1_1Controller.html

https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1sheet_1_1SpreadsheetView.html

このサービスはXEnhancedMouseClickBroadcasterを実装していますから、リスナだかハンドラだかを登録していくのが良いでしょう。

https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1sheet_1_1XEnhancedMouseClickBroadcaster.html

他の言語と異なりVBA等はクラスの考え方がなく、後から仕組みが加えられていったのだろう、と認識しています。StarBasicにおけるリスナの作り方はCreateUnoListener関数の説明を参照してください。内部的なメカニズムは結構複雑なので割愛します。

https://help.libreoffice.org/7.1/en-US/text/sbasic/shared/03132000.html

その他資料

https://opengrok.libreoffice.org/xref/core/sc/source/ui/unoobj/viewuno.cxx?r=b225980d#1144

ありがとうございます!
参照して試行してみます!