世界最強のスプレッドシートを目指すGnumericには、あまり知られていないけれど便利で 強力な拡張機能がある。特にPerlでの拡張は活用次第でさまざまな場面に適用できるようになる。
ひとつはPerl関数プラグイン、もうひとつはExcel VBAのようなマクロをPerlで記述できる機能、 Perlマクロプラグインである。
1. Gnumeric Perl関数 プラグインを使う
[ツール]-[プラグイン]にて、perl-funcとperl-loaderを有効にする。現状では、自分の関数を追加するには/usr/lib/gnumeric以下のperl_func.plをスーパーユーザで編集しなければならない。
Perl関数プラグインでは、セル内に記入する、Gnumericの関数をPerlで記述することができる。サンプルとしてついている付属の関数は、
- perl_adder() 2つの数値を足す。
- perl_date() 今日の日付をYYYYMMDDで表示する。
- perl_sed() Perlの正規表現を使って文字列を置換する。
それぞれの関数は、perl関数としてかかれており、返す値が関数の結果としてセル上に反映される。たとえばperl_adder()の例では、
sub func_perl_adder { my($a,$b) = @_; return $a + $b; }
である。このperl関数名は、必ずfunc_ で始まらなければならない。Gnumericはfunc_で始まるperl関数を抽出し、Gnumeric関数として登録する。
2. Gnumeric Perlマクロ プラグインを使う
- PerlによるGnumeric制御。(use Gnumeric)
- 新規ワークブックの作成
- 指定したセルへの値の書き込み
- などなど
2.1. さまざまな活用法
- WWW::Mechanizeを使った、Webページの自動取り込み。
- 標準入力をセパレータで切って取り込む、awkのような使い方。
- CPANにあるようなさまざまなPerlモジュールとの連携による、多様な機能拡張。
--