拡張機能をインストールする。
成果物
手順
1. ダウンロードする
- メニュー→
ツール
→拡張マネージャ
ほかの機能をオンラインで取得
リンクをクリックする- ブラウザが起動する
- サイトの検索窓に
APSO
を入力して検索する - APSOサイトをクリックする
- サイトから
apso.oxt
ファイルをダウンロードする apso.oxt
ファイルを任意パスに配置する
2. インストールする
- 拡張マネージャダイアログの
追加
ボタンを押下する apso.oxt
ファイルを選択する- ライセンス条項を最下端までスクロールする
許可
ボタンを押下する- リストに
APSO
が追加される
3. エディタを設定する
- 拡張マネージャダイアログのリストから
APSO
を選択する オプション
ボタンを押下するエディター
項目にpluma
やmousepad
など任意のテキストエディタを入力する
4. Pythonコードを書く
- メニュー→
ツール
→マクロ
→Pythonスクリプトの管理
- ダイアログのツリーにある
マイマクロ
をクリックする メニュー
ボタンをクリックする- プルダウンから
モジュールの作成
を選ぶ 新規モジュール名
ダイアログにて任意モジュール名を入力する:user_func
- ツリーに作成されたモジュールをクリックする
メニュー
ボタンをクリックする- プルダウンから
編集
を選ぶ - エディタが起動する
- 以下のコードを書いて保存する
#!/usr/bin/env python # -*- coding: utf-8 -*- # LibreOffice Calc ユーザ定義関数のPython版 def SUM_PY(*args): return sum(args)
5. 使ってみる(失敗)
- 任意セルに
=SUM_PY(3,3,3)
を入力する #NAME?
と表示されてしまう
失敗。期待値は9
だった。Pythonスクリプトで書いた関数は参照できないのか?
6. Pythonシェルで使ってみる(成功)
- メニュー→
ツール
→マクロ
→Pythonスクリプトの管理
メニュー
ボタンをクリックする- プルダウンから
Pythonシェル
を選ぶ SUM_PY(3,3,3)
コードを入力するEnter
キーを押下する9
が表示される
APSO python console [LibreOffice] 3.7.3 (default, Jul 25 2020, 13:03:44) [GCC 8.3.0] Type "help", "copyright", "credits" or "license" for more information. >>>
>>> SUM_PY(3,3,3)
9
成功した。
7. Pythonでユーザ定義関数を作れる?
どうもBASICと同様の方法で簡単に作ることはできなさそう。
拡張機能でなら頑張ればできるのかもしれない。大変そうなのでやらない。
所感
ユーザ定義関数はBASICでしか書けない。Pythonで書きたかったのに……。
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
- LibreOffice 6.1.5.2 ※ ※ Help
$ uname -a Linux raspberrypi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux