« ハードディスクも速くなっているが進歩は遅いようだ | トップページ | Excel VBA でウィンドウ枠の固定位置を調べる »

2020年4月 2日 (木)

LibreOffice を C# アプリから操作

LibreOffice (昔 OpenOffice.org と呼ばれていたオープンソースのオフィスソフト) には UNO と称する API があり、C++ や Java からリモーティングのようなことができるという話は、なんとなく知っていた。

ところが昨日、この UNO という仕組みには CLI バインディングも存在するという話を聞いた。CLI ってことは、C# から使えるってことだ。LibreOffice で Office PIA とか NetOffice みたいなことができると非常に助かる。

で、さっそく調べ始めたのだが、なんというか、CLI/C# は相手にされてないっていうか、情報がほとんど何もない。公式のC#のサンプルソースが、コメントが Javadoc で書いてあったり、ビルド環境が .mk だけだったり、いろいろ厳しい。それなりに調べまくっているのだが、まだサンプルのビルドすらできない。

今回は、とりあえずリンク集だけ。

  • https://api.libreoffice.org/
    • LibreOffice の API に関する本家のページだが、基本 C++ と Java の話ばかり。
    • よく見ると C# のサンプルプログラムが 1 本だけあるが、そのコメントが Javadoc で書いてあるのだった…。
  • https://wiki.openoffice.org/wiki/Documentation/DevGuide/ProUNO/CLI/CLI_Language_Binding
    • OpenOffice 3.0 の話が最新情報として追記されていたり、実行環境が .NET Framework 1.1 だったりするのでかなり古い情報なのだが、どうやらこのページが一番基本的な話がまとまっているような気がする。
  • https://vdlz.xyz/Csharp/Porpose/Office/LIbreOffice/LibreOfficeCSharp.html
    • 僕が今日の昼までに見つけることのできたページの中で一番詳しい。しかも日本語。やったね!
    • "CLI" を「C#でLibre Officeを扱う仕組み」と断言したり、イントロでいきなり「Libra OfficeをC#で操作するためのドキュメントは、全く無いわけではありません。」と言って見せたりする辺りで期待感が高まる。😃

ちゃんと使い物にできたらいいなあ。

« ハードディスクも速くなっているが進歩は遅いようだ | トップページ | Excel VBA でウィンドウ枠の固定位置を調べる »

コメント

コメントを書く

(ウェブ上には掲載しません)

« ハードディスクも速くなっているが進歩は遅いようだ | トップページ | Excel VBA でウィンドウ枠の固定位置を調べる »