昨日と今日(2026年6月19日)の丸2日間、あるスクリプトを作るためのプログラミングに集中していました。
LibreOfficeのCalcシート上のデータを、タブ区切りのテキストファイルに自動変換するスクリプトです。

たまたま3日ほど前に、PowerShellに関するネット記事を読んでいる中で、LibreOfficeのターミナル(Bashシェル等)での操作方法が、見つかりました。LibreOfficeには、コマンドラインから操作するための仕組み、機能が用意されているのです。初めて知りました。しかも、割と簡単にできるようなのです。
そこには、LibreOfficeのいろんな機能は、実はコマンドラインから起動できる、と説明されていました。そして、UbuntuやZorin OSの場合は、最初から実行パスが通っているので、すぐに実行できる、というではありませんか。
その機能は、「soffice」というコマンドです。ターミナルに、sofficeと1つ打ち込むだけで、LibreOfficeの機能をコマンドラインで操作できるようになります。Ubuntuではパスが通っているので、本当にsofficeだけでよく、頭にパスを付ける必要がありません。sofficeの後ろには、いろんなオプションを付け足す必要がありますが・・・。
なぜ、GUI操作ではなく、コマンドライン(CLI)操作をするのか。それは、シェルスクリプトの形にできるので、繰り返し構文にしたり、また他のLinuxコマンドと組み合わせたりできるからです。それが、コマンドライン(CLI)操作のメリットです。
私も、Calcシート上のデータをテキストファイルに変換した上で、更に続けて、あるLinuxコマンドの実行のために、今回、sofficeコマンドを使いました。そうして、一連の処理を実行するシェルスクリプトに仕上げることができました。
まぁ、それほど大掛かりなスクリプトでもないのですが、最初のうちは、思いどおりに動いてくれず、あれこれと四苦八苦しました。動かない原因を探り当て、その解決のために、あれこれと調べました。おかげで、大いに勉強させられました。本当に勉強になりました。この苦労の過程が、知識を身につけるためには貴重なんでしょうなぁ。
さきほど、自作スクリプトが最後まで思いどおりに動いてくれたので、今、その達成感を味わっています。完成したスクリプトは、今後、出番はあまりないかもしれません。けれども、いい勉強材料にはなりました。
それでは、また次の記事で。
goosyun
