シートの移動 VBA

下のコードでシートを移動しようとしたのですが、エラーが出ないのにも関わらず、上手くできません。

OPTION VBASupport 1
Sub Main
  Worksheets("Sheet2").Move (After :=Workbooks("無題 2.ods").Worksheets("Sheet1"))
End Sub

引数を設定せず、新規シートに移動はできました。

MoveをCopyにした時に、コピーはできました。

何故でしょうか?

Excel側の挙動を確認してないけど、Excel側ではその移動が起き、LibreOffice側で起きないならLibreOffice側のバグ。

https://opengrok.libreoffice.org/xref/core/sc/source/ui/vba/vbaworksheet.cxx?r=bc3bddc6#534

ここのgetModel()が返すのは、そのSpreadsheet(Sheet1とかSheet2とか)が属するSpreadsheetDocument (book1.xlsとか)

だから例えば、yyy.odsにAAAシート、BBBシート、Sheet1シートがこの順に並んでいて、xxx.odsにAAAシートがあって、yyy.ods側に格納されるマクロがあるとする。わかりやすさのためにyyy.odsのAAAシートのA1に1、xxx.odsのAAAシートのA1に2を入力した状態で以下のコードを実行したとする。

  Worksheets("Sheet1").Move (After :=Workbooks("xxxx.ods").Worksheets("AAA"))

結果、yyy.ods側の並び順がAAAシート、Sheet1シート、BBBシートになる。このとき、yyy.odsのAAAシートには元々と同じく1が入っている、かな?

Excel 側では、引数を綴じている()を外せば正常に動作しました。
LibreOffice側で同様にしても、動作はしませんでした。(エラーも出ません)。

バグということで、一旦収めます。

ありがとうございます。