AppSheetアプリの条件分岐やUI制御に欠かせないのが CONTEXT()
関数です。CONTEXT()
を使うことで、現在のアプリの表示状況や使用端末、フォームのモードなどに応じて表示・非表示やアクションの有効化を制御できます。
この記事では、CONTEXT()
に指定可能な6つの情報名について、具体例付きで徹底解説します。
CONTEXT() 関数の基本構文
CONTEXT("情報名")
「情報名」の部分に以下のキーワードを指定することで、現在のアプリの状態を取得できます。
1. "View":現在表示しているViewの名前
- 用途例:特定のViewでのみアクションを表示したい
例:View名が "申請一覧"
のとき
CONTEXT("View") = "申請一覧"
🔍 この条件をアクションの Only if this condition is true
に使えば、Viewを限定できます。
2. "ViewType":表示されているViewのタイプ
- 取得できる主なタイプ:
Form
,Detail
,Deck
,Table
,Gallery
,Chart
など - 用途例:フォーム表示中かどうかを判定する
例:表示中のViewがForm(入力フォーム)のとき
CONTEXT("ViewType") = "Form"
例:Detail
ビューのとき
CONTEXT("ViewType") = "Detail"
3. "Device":アクセスしているデバイスの種類
- 取得できる値:
Browser
,Tablet
,Phone
- 用途例:スマホやPCで表示内容を変える
例:PCからアクセスしているときだけ
CONTEXT("Device") = "Browser"
スマートフォンでは表示を省略して、UIを簡素に保つことができます。
4. "Host":アプリのホスト環境
- 取得できる値
Browser
(ブラウザからのアクセス)Device
またはNative
(モバイルアプリからのアクセス)
- 用途例:ネイティブアプリかどうかで処理を分ける
例:モバイルアプリからのアクセスのみ
CONTEXT("Host") = "Device"
5. "AppName":アプリの名前
- 用途例:同じデータソースを使う複数アプリで表示を切り替える
例:アプリ名が "営業報告アプリ"
のとき
CONTEXT("AppName") = "営業報告アプリ"
🔄 共通スプレッドシートを複数アプリで使いまわす場合に便利です。
6. "FormMode":フォームのモード
- 取得できる値:
Add
(新規作成)、Edit
(編集) - 用途例:Add時だけ初期値を表示、Edit時だけ補助入力
例:Add(新規作成)のとき
CONTEXT("FormMode") = "Add"
例:Edit(編集)のとき
CONTEXT("FormMode") = "Edit"
応用例:複数のCONTEXTを組み合わせる
複数の条件を組み合わせることで、より柔軟な制御が可能です。
例:スマホからのAddモードのとき
AND(
CONTEXT("Device") = "Phone",
CONTEXT("FormMode") = "Add"
)
CONTEXT() 早見表
情報名 | 取得できる値例 | 用途例 |
---|---|---|
"View" | 申請一覧 , 管理画面 | 特定のViewでのみ列・ボタン表示 |
"ViewType" | Form , Detail , Table | 表示ビューのタイプによる制御 |
"Device" | Browser , Phone , Tablet | デバイスごとのUI切り替え |
"Host" | Browser , Device | Webとアプリでの挙動変更 |
"AppName" | 営業アプリ , 管理アプリ | 複数アプリでデータを共用する場合の条件分岐 |
"FormMode" | Add , Edit | フォームモードによる初期表示・制御 |
まとめ
CONTEXT()
を活用すれば、ユーザーやアプリの操作状況に応じた柔軟なUIやロジック制御が可能になります。
- Add/Editの使い分け
- 管理者用ビューの切り替え
- スマホ・PCでのUI最適化
- アプリ間の条件分岐