外部ファイルに保存した内容をマクロ内にincludeしたい

いま、以下のような状況でLibreOffice Calcを利用させていただいています。

  • 100近くのodsファイル
  • それぞれのodsファイルに同内容のLibreOffice
  • Basicマクロを含む
  • マクロを修正する際には全odsファイルにその修正を施す必要がある
  • svnやgit等で管理しているため、任意のディレクトリ以下にすべてのファイルを配置

odsファイルが10近くだった今までは手動でメンテナンスをしていましたが、100近くになってくると流石にメンテナンス漏れ等を含め運用が厳しくなってきたので
マクロ内でいわゆるC言語で言うところの#includeのようなことを行いたいですが方法がわかりません。

ExcelではVBComponentsを使うとできるようなのですが、LibreOfficeマクロで行うにはどのようにすればよいでしょうか?

Basicにこだわっているわけではなく、python等他の手段でも上記と同等の運用ができるようであれば移行するので何らかの手段があれば教えてほしいです。

よろしくお願いします。

うーん、やっぱり静的リンクっぽく個別のファイルに埋め込むより、動的リンクっぽいライブラリの方が好み(ドキュメント側じゃなくてアプリケーション側に保存)。

とは言え。VBComponentsっぽいものっていうと、例えば…こういう感じのものだろうか?

オマケ: deprecatedになったのは2002年のはずなんだけど、

割と現役で使われている気がする。

使われている気配のない第三引数

その他:

ありがとうございます。

自分の認識が間違っているかもしれませんが、アプリ側のライブラリの場合は「マイマクロ&ダイアログ」「LibreOfficeのマクロ&ダイアログ」に配置するってことですよね?
その場合、複数人がLibreOfficeを利用している場合、更新があった場合はそれぞれの環境でsvnで入手してきたライブラリ用のファイルをインポートしなおして使う感じですか?
外部ファイルが更新されていたらLibreOfficeを起動し直すだけで自動で読み込まれ直す、というわけではないですよね?

教えていただいたXStarBasicAccessの場合は2002年に非推奨となっているが現状も使えている。
createLibraryで外部ファイルをソースにすることは出来ないが空のライブラリを作成でき、
SimpleFileAccess等で外部ファイルを文字列として読み込み、addModuleのSourceとして追加して使う、
という話でしょうか?

全ておっしゃるとおりです。

その場合、複数人がLibreOfficeを利用している場合、

見落としてました。

ありがとうございます。
おかげさまでマクロ内から外部ファイルをライブラリとして呼び出せるようになりました。

それは良かった。

(それにしても何で俺リンクしているのがTextOutputStreamなんですかね?TextInputStreamを紹介すべきところなのに。←この自己ツッコミをしたかっただけのコメント(汗)

(書き換えた)