やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Calc ユーザ定義関数(BASIC)

 BASIC言語にてユーザ定義関数を作る。

成果物

情報源

手順

1. ユーザ定義関数を作る

  1. メニュー→ツールマクロマクロの管理LibreOffice BASIC
  2. 編集ボタンを押下する
  3. 以下のコードを挿入して保存する
Function VOL(a, b, c)
    VOL = a * b * c
End Function

2. ユーザ定義関数を使う

  1. 任意のセルに=VOL(2,2,2)を入力する
  2. 計算結果8が表示される

3. Pythonではできなかった

  1. APSOをインストールしておく
  2. 以下のコードを書く
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# LibreOffice Calc ユーザ定義関数のPython版
def SUM_PY(*args):
    return sum(args)
  1. 任意セルに=SUM_PY(3,3,3)を入力する
  2. #NAME?と表示されてしまう

 失敗。期待値は9だった。Pythonスクリプトで書いた関数は参照できないのか?

所感

 ユーザ定義関数はBASICでしか書けない。Pythonで書きたかったのに……。

対象環境

$ uname -a
Linux raspberrypi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux