【広告 No.01】

2015年4月28日火曜日

iOSやAndroidアプリ版のスプレッドシートにおける制限事項(主にGoogle Apps Scriptに関連する事項)まとめ(仮)

【はじめに】

Google Apps Script(以降、GAS)の構築案件において、たまにスマホやタブレット端末メインで動作するようにしてほしいという要望をいただきます。

しかしながら、PC版と比べ、アプリ版では実行できる機能が限られたものとなっています。そのため、PC版では問題なく動作するものでも、アプリ版での実行(表示)結果が異なる、ということもあります。

実はこの辺りの事に関しましてはGoogleで調べてみてもほとんど情報がございません。少なくともGASのリファレンスやGooleのヘルプにてアプリ版の制限事項に関する記述を見つけることはできませんでした。

従いまして、わかっている範囲でまとめることにしました。

※すべての項目を網羅しているわけではございません。基本的には個人的なメモです。


onOpen()関連

onOpen()は実行されないようです。

代表的な例としては、カスタムメニューの追加です。これは公式のスタートガイドでも一番最初に触れているぐらいメジャーなものなのですが、アプリ版にはメニューらしきものが書式やセルのスタイル設定ぐらいしか存在しないため、仕様上、仕方がない事と諦めるしかないですね。

onEdit()関連

onOpen()とは異なり、実行されるものの、処理内容によってはアプリ版ではスキップされるようです。(※)

実際には処理は行われるが、表示結果として反映されないと表現すべきかもしれません。

UI関連

UIそのものがPC版とは別物ですので、やはり制限事項も多いです。
  1. セレクトメニューが生成されない
  2. 挿入>画像を描画 で挿入されたボタンや画像は表示されない
  3. (挿入で配置したり、IMAGE関数で読み込んだ画像も同様)
  4. 同様にグラフも表示されない

従いまして、例えば1.の場合、選択された値によって処理を分岐したり、onEdit()のトリガーとして設定することができません。

また、2.の場合では、ボタン用画像を配置して、スクリプトを埋め込んでもアプリ版では表示されません。

上記から、アプリ版ではスクリプトのトリガー(実行手段)がかなり限定される、ということになります。

【まとめ】

スプレッドシートをメイン画面としたGAS構築において、iOSやAndroidアプリ版のスプレッドシート対応を求められた場合、注意すべきことを以下にまとめました。
  • スクリプト実行のトリガーとして利用できるのはonEdit()に限定される(セレクトメニューは使えない)
  • 処理内容によってはアプリ版で再現されないものもある
  • 配置、挿入された画像やグラフは表示されない

編集できるようになったとはいえ、セルやセル内のスタイル設定メインです。GAS対応という視点で見れば、ビューワー関連機能限定の端末として扱うべきかもしれません。
ブラウザにてPC版サイト表示で実現できるものもありますが、当方の環境ではクラッシュすることもしばしばでした)

以上「iOSやAndroidアプリ版のスプレッドシートにおける制限事項(主にGoogle Apps Scriptに関連する事項)のまとめ(仮)」でした。

【参考サイト】