COUNTSTYLE を使ってみる – Calc

アワード関係のリストに LibreOffice Calc を使っている。 ときに色分けで区分する必要があることも。
そんなとき「色によるカウント」をする機能が LibreOffice Calc にはナイ。
やっと COUNTSTYLE という外部拡張ツールを発見。

Tools –> Extention Manager に countstyle-1.1.2.oxt を読み込ませて Calc を再起動。
(Calc では殆ど日本語を使わないので英語仕様にしている。 また日本語仕様だとシート幅が「ヘルプ」より縮まらなかったことも)

COUNTSTYLE

再起動すると fx ボタンをクリックすると CELLSTYLE と COUNTSTYLE という二つが加わっていた。

シート下方に適用させるスタイルをセルに作成して、「スタイル名」を付けておく。

私はこれを怠り、ただ色を付けていただけだったし、十数列 2,500 行もあるシートだったので、セルにスタイルを適用する作業に大きな時間を費やしてしまった。(全セルが埋まっているワケではないが)
スタイル名も既存のものを利用するのもいいが、独自名の方が目に付きやすいのではとも思う。

「色」だけというワケではないので、フォント、フォントサイズ、背景色、ボーダー(枠線)など全てが対象になるので、基準セルはそれらも含めて設定するのがいい。

セル幅が固定長だったので文字数によってフォントを変えたり、フォントサイズを変えたりしたスタイルを作ったのだが、若干バグがあるような気もする。同名で再設定するとフォントがデフォルトになったり、背景色が消えてしまったり。

同類異型が極端に少ないなら、カウント適用後に手動修正してもカウントは変わらないので、悩まなくていいかと。

セルにスタイルを適用するには

適用したいセルを選択して右ペインのスタイルリストからスタイル名をダブルクリックすればよい。

cellStyleWindow

基準になるセルを CELLSTYLE で設定する。
基準になるセルを選択しておいて fx をクリック。
右下ペインには「=」だけなので CELLSTYLE(基準セル) をインプット。

countStyleWindow

次に基準になるセルの下とか右とかにカウント数表示用のセルを置く。
カウント数表示用のセルをクリックしてまた fx をクリックして COUNTSTYLE を選択。
これも最初は「=」だけなので COUNTSTYLE(範囲,基準セル) をインプット。
スタイル設定されたセルがあるならばその数がカウントされているハズ。

もう一つのバグ

macroUnavail

まだ 1/3 程度しか処理していないので、作業を進めるために再起動(他日起動など)する。
すると基準セルやカウント数のセルが #MACRO? になってしまっている。

これはそれぞれをクリックして再び fx を押して OK すればよい。

私はセルにテキストしか入れてないが、数値の場合は『トータル・最大値・最小値・平均』などをカウントすることができる。 nogajun 氏による日本語 readme が用意されている。

作者は Jean-Marc Zambon 氏でロザンナと同じ Zambon 姓だからイタリア人かな。

追記

PC の CPU は現在 Ryzen5 3600 の 6 core 12 thread なのだが、 20, 30 のセルを Ctrl + クリックで選択すると CPU の一つが 100% になってしまう。
この辺が MS-Excel と比べると劣る。 LibreOffice の改善が望まれるところだ。

追記2

LibreOffice を 7.0.4.2 から 7.1.1.2 にすると前述の #NAME? は出なくなった。
セルを移動するのでもコピー&ペーストすると先のスタイル情報が残っているので、重複カウントになったりするが、ドラッグで移動すればスタイル情報は維持されるようである。

こちらは色区分さえわかればいいので、カウントに正確性を追求しないから、よくコピー&ペーストと「内容消去」で済ますことが多い。

最小インストールの落とし穴

QSL の電子化に私は Epson FF-680 というシートフィード・スキャナーを使っている。
フルインストールのときは Linux ドライバーを入れれば使えた。
今回は canberra-gtk-module のせいでスキャナーが認識されない。

ところが、canberra-gtk-module をインストールしてもまだ認識されない。
どうやらcanberra-gtk-module は openjdk がないと働かないようだ。フルインストールには当然入っていて気づかなかった。

jpeg が必要なら pdftoppm コマンドでデフォルト 150% サイズで出力してくれる。

pdftoppm -jpeg abcdef.pdf XYZ

Ubuntu Focal と CQRLog

以前にもチャレンジしていたが、 CQRLog が正常にインストールできないでいた。
CQRLog では mariadb なんだが、標準インストールの mySQL-8.0 がジャマをする。 Ubuntu Bionic では問題なかったのだが。

年明けに GNOME 設定が消えたとき、今回「今更 Bionic でもなかろう」と再び Focal に挑戦することにした。幸い 20.04.1 にもなってるし。

改めて検索すると、次の記事が見つかった。
New Ubuntu and latest cqrlog

mini.iso でなくてもいいだろう、KDE でなくて GNOME でもいいだろうと考え、「最小インストール」を実行した。

sudo apt-get install lazarus git
git clone https://github.com/ok2cqr/cqrlog.git
cd cqrlog
make
sudo make install

これで cqrlog と叩いても、しばらく起動しないし、 mysql のエラーも残る。
cqrlog debug=1 でも変わらなかった。

sudo ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.so.21 /lib/libmysqlclient.so

これで起動はするようになったが、入力ウィンドウが閉じられない。 QSO list はスグ閉じてくれる。
そこで思い出したのが cqrlog 2.3 and 2.4 very slow to start on Ubuntu 19.10 の dbus 関連だった。
今の cqrlog.desktop は次のようになっている。

[Desktop Entry]
Name=CQRLOG
Comment=Advanced logging program for hamradio operators
Exec=dbus-launch --exit-with-session cqrlog debug=1
Terminal=false
Type=Application
Icon=cqrlog
Categories=Network;HamRadio
Keywords=Ham;Radio;Log;cqrlog;

これで起動も終了もエラーなく行える。