世界最強のスプレッドシートを目指すGnumericには、あまり知られていないけれど便利で 強力な拡張機能がある。特にPerlでの拡張は活用次第でさまざまな場面に適用できるようになる。

ひとつはPerl関数プラグイン、もうひとつはExcel VBAのようなマクロをPerlで記述できる機能、 Perlマクロプラグインである。

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関数として登録する。

Gnumeric Perlマクロ プラグインを使う

  • PerlによるGnumeric制御。(use Gnumeric)
    • 新規ワークブックの作成
    • 指定したセルへの値の書き込み
    • などなど

さまざまな活用法

  • WWW::Mechanizeを使った、Webページの自動取り込み。
  • 標準入力をセパレータで切って取り込む、awkのような使い方。
  • CPANにあるようなさまざまなPerlモジュールとの連携による、多様な機能拡張。

--

Japanese

GnumericPerl_Ja (last edited 2008-10-15 14:10:58 by giadow)