セルにマクロを指定して、そのセルを選択したときにそのマクロを実行する

ubuntu 20.04 上で libreoffic7.1を利用させて頂いています。
表題のようなことが、できるでしょうか。

シート自体でイベントを捕捉する方法ならあります。

https://opengrok.libreoffice.org/xref/core/sc/source/ui/unoobj/viewuno.cxx?r=9090dc1f#1140

https://opengrok.libreoffice.org/xref/core/sc/source/ui/unoobj/viewuno.cxx?r=9090dc1f#1157

https://opengrok.libreoffice.org/xref/core/sc/source/ui/unoobj/viewuno.cxx?r=9090dc1f#1067

ざんねんながらお教えいただいた方法は私には
理解できませんでした。

シートイベントで行うのが最も一般的ですが、
選択というのが マウス左クリックで選択 した時とすれば ハイパーリンク を利用することもできます。

ドキュメント内の BasicのSample1 というマクロは Sample1 として呼び出しできますが、識別名は

vnd.sun.star.script:Standard.Module1.Sample1?language=Basic&location=document

のようになります。Python でも同様の書式です。

これはそのまま Hyperlink や Hyperlink関数 から起動できます。
引数も渡すことができます。

ハイパーリンクは デフォルトでは [ Ctrl + 左クリック ] で起動しますが、
オプション > LibreOffice > セキュリティ > オプション・ボタン > セキュリティオプションの Ctrl+クリックでリンクを開く のチェックを解除すると [ 左クリックだけ ] でマクロを実行することができます。

2 Likes