CalcのVBAマクロ記録の中身を見ると、外部ファイルへのリンクでファイル名が表示されません。ファイル名を把握する方法は?
自分の回答として、 http://openoffice3.web.fc2.com/OOoBasic_DespatchHelper.html が参考になります。つまり、このページの下の方に記載があるように、
- コマンド(メニューに割り付けてある操作、UNOコマンドとも呼ばれるもの)のみの記録である。
- コマンドで実現できるもの以外は記録できない。
という事のようです。これで納得できます。まだ発展過程にあるのだと。今後を期待しています。
でも、libreofficeWriterではリンク先のファイル名は表示されています。
本質的には本体を直す、なんだろうなあ。以下、プログラマにしかわからないであろうリンク集(自分用のメモ)
https://opengrok.libreoffice.org/xref/core/sc/uiconfig/scalc/menubar/menubar.xml?r=5d2ab49c#255
https://opengrok.libreoffice.org/xref/core/sw/uiconfig/swriter/menubar/menubar.xml?r=d8677857#304
https://opengrok.libreoffice.org/xref/core/sfx2/sdi/sfx.sdi?r=e0aa9310#1930
https://opengrok.libreoffice.org/xref/core/sfx2/source/control/request.cxx?r=700929e8#367
https://opengrok.libreoffice.org/xref/core/framework/source/recording/dispatchrecorder.cxx?r=206b5b26#112
https://opengrok.libreoffice.org/xref/core/framework/source/recording/dispatchrecorder.cxx?r=206b5b26#133
https://opengrok.libreoffice.org/xref/core/framework/source/recording/dispatchrecorder.cxx?r=206b5b26#286
条件となるbDoneをtrueに変更しているのは以下のコードだけだと思われる…多分。
https://opengrok.libreoffice.org/xref/core/sfx2/source/control/request.cxx?r=700929e8#562
で、Done_Implを呼び出しているのはDoneのオーバーロードのみのようだ。
https://opengrok.libreoffice.org/xref/core/sfx2/source/control/request.cxx?r=700929e8#437
https://opengrok.libreoffice.org/xref/core/sfx2/source/control/request.cxx?r=700929e8#488
ここからは自信がまったくないのだが
https://opengrok.libreoffice.org/xref/core/svx/source/dialog/hyperdlg.cxx?r=b79fa59d#33
https://opengrok.libreoffice.org/xref/core/svx/source/dialog/hyperdlg.cxx?r=b79fa59d#44
https://opengrok.libreoffice.org/xref/core/cui/source/dialogs/cuihyperdlg.cxx?r=1c56d5fe#284
https://opengrok.libreoffice.org/xref/core/cui/source/dialogs/cuihyperdlg.cxx?r=1c56d5fe#197
https://opengrok.libreoffice.org/xref/core/cui/source/dialogs/cuihyperdlg.cxx?r=1c56d5fe#211
SwTextShell以外のときには、Doneしていない気がする。ScCellShellの時もしてました。
https://opengrok.libreoffice.org/xref/core/sw/source/uibase/shells/textsh.cxx?r=951a6592#226
https://opengrok.libreoffice.org/xref/core/sc/source/ui/view/cellsh1.cxx?r=5f0ddb2d#2508
同じWriterの場合でも、シェイプで四角形を追加し、そのテキストに対してハイパーリンクを挿入した場合はURLがコード上に現れないか?→予想通り現れない
Calcのセルを選択し、キャレットが登場してない状態でメインメニューからハイパーリンクを挿入するとURLはコード中に現れ、またキャレットがあるときは、URLが登場しない挙動か?→どちらの挙動も記述の通り
Done_Implの中で各種データのコピーが行われる。→質問者が説明したとおりの挙動に確かになる。
https://opengrok.libreoffice.org/xref/core/sfx2/source/control/request.cxx?r=700929e8#600
https://opengrok.libreoffice.org/xref/core/sfx2/source/control/request.cxx?r=700929e8#609