« 2026年明けました | トップページ | 「永野護デザイン展」、再び »

2026年1月 7日 (水)

VBAっぽく記述できるPythonライブラリ「Excel Like UNO」

「Microsoft Excel」のVBA(Visual Basic for Applications)のように「LibreOffice Calc」を動かすことができるPythonライブラリ「Excel Like UNO」がGitHubにて公開されました。
#元記事はこちら

Excelマクロからの移行を支援することが目的のライブラリで、仮公開ではありますが、実際に動作させることもできます。
「Excel Like UNO」は、PythonコードでVBAに似たメソッド(cell.text、sheet.range("A1:E1").merge(True)など)でスプレッドシートを操作できるようにしてVBAに慣れたユーザーでも扱いやすくなっているほか、データをゲッターやセッターではなく、「value」、「text」プロパティで入出力できるようにしています。
また、内蔵エディタによる編集ではなく、「Visual Studio Code」のような外部エディタを使って編集することができることも特徴の一つ。入力補完やAIエージェントによる開発支援などの恩恵が受けられ、GitHubなどと連携することにより、ソースコードの管理ができるなど、保守の面でも大きなメリットが得られます。

「Microsoft Office」は有償のソフトであるため、コストがかかるのは仕方が無い所がありますが、サブスクリプション化されたことにより、年間でかかるコストも膨らむ一方となっています。そこでオープンソースで開発された「LibreOffice」への移行が候補に挙がることがあるのですが、一番の難所が「マクロ」。「LibreOffice」にもVBAライクな「Libre Basic」というマクロ言語があり、ある程度は互換性があるのですが、まだまだという意見が多いです。そうした「ギャップ」を埋めるために開発されたのが「Excel Like UNO」です。言語もPythonですので、ExcelでもPythonを実行させることができるようになったことで、より敷居が低くなったかと思います。前述の通り「仮公開」という立場ですが、サンプルコードも豊富に用意されていますので、まずは動かしてみるのもいいではないでしょうか。

とはいえ、「マクロ」に対するスタンスって、両者で結構違ってるんですよね。「Microsoft Office」の方は、基本的にはワークブックと1対1の関係。というのも、ワークブック内にマクロを格納する設計のため。そのため、そのワークブック専用となってしまうことがほとんどです(一応、ライブラリ的にすることも可能ですが、ライブラリ側にあるマクロを動かすにはそのワークも開かなければならず、複数のワークブックを開く必要があります)。
一方の「LibreOffice」ですが、マクロはワークブックから外出しされており、「密」な関係ではありません。そのため、ライブラリとして構築しやすく、使用するにも、そのマクロファイルを指定するだけとなります。

また、両Officeで共通に採用されている言語「Python」に対するアプローチも異なります。MicrosoftはExcelにだけですが、Pythonを取り込みました。しかし、その実装は独特で、ワークシート関数「py()」関数内に記述するか、数式タブから「Pythonの挿入」を選択してPythonモードにしてからセルに書き込むという形になります。また、Pythonコードの実行も独特で、記述されたコードをMicrosoftのPython実行サーバに転送し、サーバで実行した後、結果を戻すという方式を採っています。つまり、「インターネット接続環境」が必須となります。
一方のLibreOfficeは、前述の通り、別ファイルとしてソースコードを書くこととなります。コードの実行もLibreOfficeに同梱のPythonインタープリターを通してPC上で行われますので、「インターネット接続環境」が必須ではありません。

こうしてみると、LibreOfficeの方が機能的には洗練されているんですよね(Pythonをマクロ言語として取り入れたのもLibreOfficeの方が先ですし)。また、マクロ言語として使える言語もMicrosoft OfficeはVBAとPythonですが、LibreOfficeはLibre Basic、JavaScript、Python、BeanShellの4つとなっており、かなり「間口の広い」環境となっています。

今回のこの「Excel Like UNO」がオフィススイートのブレークスルーとなるか、見ものです。また、ブラッシュアップされるといいなと思います。

| |

« 2026年明けました | トップページ | 「永野護デザイン展」、再び »

ニュース」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



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


コメントは記事投稿者が公開するまで表示されません。



« 2026年明けました | トップページ | 「永野護デザイン展」、再び »