kの雑記ブログhttps://www.free-biblio.com管理人がみんなに伝えたい!!と思った知識や学びを気ままに書いています(^^)Tue, 20 May 2025 09:44:28 +0000jahourly1https://www.free-biblio.com/wp-content/uploads/2024/05/cropped-cf21cc4b2f13c649388a4de30cde3567-2-32x32.jpgkの雑記ブログhttps://www.free-biblio.com3232 【上級者向け】AppSheetにGASを組み込む方法https://www.free-biblio.com/appsheet-gas-6679/https://www.free-biblio.com/appsheet-gas-6679/#respondTue, 20 May 2025 09:44:21 +0000https://www.free-biblio.com/?p=6679

今回はAppSheetとGASに関する記事です。 AppSheetでは、ActionやAutomationといった機能を利用することで、簡単な設定だけで様々な処理を自動化できます。 しかし、Google Apps Scr ... ]]>

本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。

本ブログでは新UI画面で内容をまとめています。

新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)

新UI画面の説明

まずはじめに

本記事はこんな人におすすめ!!
  • AppSheetとGASを連携する方法を知りたい人
  • AppSheetのアプリ開発で出来ることをもっと増やしたい人
本記事を読んで出来るようになること
  • AppSheetにGASを組み込むときの設定がわかる

今回はAppSheetとGASに関する記事です。

AppSheetでは、ActionやAutomationといった機能を利用することで、簡単な設定だけで様々な処理を自動化できます。

しかし、Google Apps Script(GAS)を習得することで、さらに高度で柔軟な自動化処理を実装できるようになり、アプリ開発の可能性を大きく広げることができます。

私もGASで指示が出来るようになってから、さらにアプリ開発の幅が広がりました!

この記事では、GASの具体的な指示内容はシンプルなものに留め、AppSheetユーザーがGASを導入し、基本的な設定を行えるようになることに焦点を当てて解説していきます。

それでは勉強していきましょう(^^)


抑えておきたいGASの基本ルール

GAS(Google Apps Script)には、スタンドアロン型コンテナバインド型の2種類のプロジェクトタイプがあります。

これらの違いを初心者の方にも分かりやすく説明します。

スタンドアロン型 (Standalone Script)

スタンドアロン型

・特定のGoogle Workspaceファイルに紐付かない、独立したGASプロジェクトです。

・作成方法:

  • GASのウェブサイト (https://script.google.com/) にアクセスして新規作成します。
  • Google Drive上で「新規」 > 「その他」 > 「Google Apps Script」を選択して作成します。

・特徴:

  • 汎用性: スプレッドシート、ドキュメント、フォームなど、複数のGoogle Workspaceサービスを操作するスクリプトを作成するのに適しています。
  • 独立性: 特定のファイルに依存しないため、スクリプト自体を単独で管理・共有できます。
  • トリガー: 独自の時間主導型トリガー(特定の時間に実行)やイベント主導型トリガー(ドキュメントのオープン時など)を設定できます。
  • ウェブアプリ: ウェブアプリケーションとして公開することができます。
  • 管理: Google DriveまたはApps Scriptダッシュボード (https://script.google.com/home) で管理します。

作成方法②のやり方でこのあと説明します(^^)

コンテナバインド型 (Container-bound Script)

コンテナバインド型

・Google Sheets(スプレッドシート)、Docs(ドキュメント)、Slides(スライド)、Forms(フォーム)などの特定のGoogle Workspaceファイルに紐付いたGASプロジェクトです。

・作成方法:

  • 対象のGoogle Workspaceファイルを開き、「拡張機能」から「Apps Script」を選択して作成します。

・特徴:

  • 連携性: スクリプトが紐付いているファイル(コンテナ)のデータを直接的に操作するのに非常に便利です。例えば、スプレッドシートのデータを読み書きする、ドキュメントの内容を編集するなど、特別な記述なしにコンテナのオブジェクトにアクセスできます。(例: SpreadsheetApp.getActiveSpreadsheet() で現在のスプレッドシートを取得)
  • 自動的なコンテキスト: スクリプトの実行時に、どのファイルから実行されたかのコンテキストが自動的に提供されます。
  • カスタムメニューとUI: スプレッドシートやドキュメントなどのUIをカスタマイズするカスタムメニューやダイアログ、サイドバーなどを比較的簡単に作成できます。
  • 簡易トリガー: onOpen()(ファイルを開いた時)、onEdit()(ファイルを編集した時)、onFormSubmit()(フォームが送信された時)などの簡易トリガーを簡単に利用できます。
  • 管理: スクリプトファイルはGoogle Driveには表示されず、紐付いているファイル内からスクリプトエディタを開いて管理します。
  • 権限: スクリプトの実行権限は、コンテナファイルへの編集権限に依存します。閲覧権限しかないユーザーはスクリプトを実行できません。

まとめ

特徴スタンドアロン型コンテナバインド型
紐付け特定のファイルに紐付かない特定のGoogle Workspaceファイルに紐付く
作成場所GASウェブサイト、Google Drive対象ファイルのスクリプトエディタ
主な用途複数のサービス連携、独立した処理、ウェブアプリ紐付けられたファイルのデータ操作、UIカスタマイズ
コンテナへのアクセスSpreadsheetApp.openById() などで明示的に指定SpreadsheetApp.getActiveSpreadsheet() などで簡単にアクセス
カスタムUI可能(HTML Serviceを使用)比較的容易に作成可能(Ui Serviceを使用)
簡易トリガー利用可能onOpen(), onEdit() などが利用可能
管理場所Google Drive、Apps Scriptダッシュボード紐付けられたファイル内
権限独立して設定コンテナファイルの権限に依存

どちらのタイプを使うべきかは、作成したいスクリプトの目的によって決まります。

  • 複数のファイルやサービスを連携させたり、独立した処理を実行したり、ウェブアプリケーションとして公開したい場合は、スタンドアロン型が適しています。
  • 特定のファイルの内容を操作したり、そのファイルのUIをカスタマイズしたりする場合は、コンテナバインド型が便利です。

初心者の方は、まず自分が操作したいファイル(例えばスプレッドシート)を開いて、そこからスクリプトエディタを開き、コンテナバインド型のスクリプトを試してみるのが分かりやすいかもしれません。

あとは「管理」と「権限」については把握しておくとよいでしょう(^^)

また、AppSheet Automation から GAS を呼び出す場合の制限時間があります。

  • データ変更イベントによる自動化: 最大 2分
  • スケジュールされたイベントによる自動化: 最大 5分

これらも合わせて覚えておきましょう!


AppSheetとGASを紐つける手順

それでは、実際にGASの設定を行う画面を見ていきましょう。

設定方法はいくつか考えられますが、ここではアプリ開発後のメンテナンスのしやすさを考慮した、おすすめの方法をご紹介します(^^)

Googleドライブ 新規作成

Googleドライブ(マイドライブ)にあるアプリのフォルダを開き、左上の +新規 をクリックします。

その他 → Google Apps Script をクリックします。

GASエディタを開いたら、最初にプロジェクト名とファイル名を分かりやすい名前に変更する習慣をつけましょう。

GASの新規立ち上げ画面

GASで実行する処理コードが書けたら、保存ボタンを押して実行をクリックします。

GASの実行

GASを実行する際に以下の確認画面が表示されることがあります。

これは、スクリプトがGoogleサービス(例えばスプレッドシートのデータ)にアクセスするための許可を求めるものです。それぞれ内容を確認し、許可を与えるボタンをクリックしてください。

権限を確認画面
権限を確認をクリック
アカウントの選択画面
自分のアカウントを選択
詳細をクリック
この画面が現れた場合、詳細をクリック
安全ではないページへ移動を選択
安全ではないページに移動をクリック
続行をクリック
続行をクリック

これでGAS側の設定は完了です。

続いて、AppSheet側でこのGASを実行するためのAutomationを設定していきましょう。


Automationの設定

Automationの設定は難しいところはありません。

新規でAutomationを作成し、下図のようにApps Script Projectをセットしてみてください。

Automation taskの選択
実装するGASを選択

Apps Script Projectのセットが完了したら、Automationに呼び込む関数を指定します。

functionの指定

設定はこれで完了です!


簡単な検証トライ

最後に読者の皆さんも簡単な設定で検証してみましょう。

スプレッドシートの新規作成

下図と全く同じカラムとシート名にしてスプレッドシートを作成する。

スプレッドシートの設定
スプレッドシートIDを控えておく

Googleアプリには必ずIDが存在します。

このIDを指定することで、対象のファイルを指定したり複数のファイルに対して処理を行うことが可能になります。

スプレッドシートIDの取得
GASコードを入力する

スタンドアロン型のGASを新規作成し、以下のコードを貼り付けます。

黄色の下線部分は、STEP.2で控えたスプレッドシートIDに各自切り替えてください。

/**

* スプレッドシートの指定シートのC列に「よくできました」と入力します。

*/

function writeWellDone() {

// スプレッドシートIDを変数に格納

const spreadsheetId = ‘AAAAAAAAAAAAAAAAAAAAAAAA‘; // 自分のスプシIDを指定

// シート名を変数に格納

const sheetName = ‘GAS検証’;

// スプレッドシートを取得

const spreadsheet = SpreadsheetApp.openById(spreadsheetId);

// シートを取得

const sheet = spreadsheet.getSheetByName(sheetName);

// シートが存在しない場合は処理を中断

if (!sheet) {

Logger.log(`シート “${sheetName}” が見つかりません。`);

return;

}

// A列の最終行を取得(データがある最終行を判定するため)

const lastRow = sheet.getLastRow();

// ヘッダー行を除く、データ行の範囲を取得(C列のみ)

// A列にデータがあれば、最終行まで処理を行う

if (lastRow > 1) {

const rangeToWrite = sheet.getRange(2, 3, lastRow – 1, 1); // 2行目から最終行まで、3列目(C列)の1列

const valuesToWrite = Array(lastRow – 1).fill([‘よくできました’]); // 書き込む値を二次元配列で作成

// C列に値を書き込む

rangeToWrite.setValues(valuesToWrite);

Logger.log(‘C列に「よくできました」と入力しました。’);

} else {

Logger.log(‘データがありません。’);

}

}

ブログの内容を参考にAutomationを設定してみる

私は新規登録で発火するAutomationで検証してみました。

Form画面からデータ登録
Form画面からデータを登録
GASが動くことを確認

まとめ

今回は、AppSheetにGoogle Apps Script(GAS)を組み込む方法について解説しました。

AppSheetの標準機能だけでは少し難しいと感じるような、複雑な自動化や特定のサービス連携も、GASを組み合わせることで驚くほどスムーズに実現できることがたくさんあります。

まさに、あなたのアプリが「もう一段上のステージ」へと進化するイメージですね。

「でも、GASのコードなんて書いたことがないし…」そう思われる方もご安心ください!

今では、ChatGPTやGeminiのような生成AIが強力な助けとなります。

これらのAIに「こんなGASコードを書いてほしい」と具体的に指示するだけで、プログラミングの知識がなくても、読者の皆さんのアイデアを形にできる時代です。

AppSheetとGAS、そしてAIの力を借りて、ぜひあなたのアプリ開発の可能性を広げてみてください。

この記事にあるGASもGeminiに書いてもらいました笑

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

]]>
https://www.free-biblio.com/appsheet-gas-6679/feed/0
【まとめ】AppSheetで知っていると便利な機能https://www.free-biblio.com/useful-features-6653/https://www.free-biblio.com/useful-features-6653/#respondTue, 06 May 2025 05:58:35 +0000https://www.free-biblio.com/?p=6653

今回は、AppSheetの数ある機能の中から、個別の記事として深く掘り下げるほどではないものの、日々のアプリ運用や開発において知っておくと格段に便利になる、そんな隠れた機能に焦点を当ててご紹介していきます。 それでは勉強 ... ]]>

本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。

本ブログでは新UI画面で内容をまとめています。

新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)

新UI画面の説明

まずはじめに

本記事はこんな人におすすめ!!
  • AppSheetのアプリ開発で知っておくと便利な機能を知りたい人

今回は、AppSheetの数ある機能の中から、個別の記事として深く掘り下げるほどではないものの、日々のアプリ運用や開発において知っておくと格段に便利になる、そんな隠れた機能に焦点を当ててご紹介していきます。

それでは勉強していきましょう!


Dataタブに関係する機能

関数の検証方法

関数入力画面にあるTestをクリックします。

関数の検証
関数の検証結果

赤で囲った部分に関数で取得できる結果が表示されます。

長い関数を組んだときには、1つずつ細分化してVCに入力 → 検証してみるのがおすすめ(^^)

登録した写真に線を描く

TypeをimageにしてAllow drawing on imagesにチェックを入れます。

Allow drawing on imagesの設定

ここにチェックを入れることで写真を登録した際に、線を描くことが可能になります。

写真のEdit

写真を登録したあとに現れるEditをクリックします。

drawing image

色付きで線を描くことができます(^^)


Viewタブに関係する機能

Quick edit(Table View)

Table ViewのView OptionsにあるEnable QuickEdit (beta) をONにします。

Enable QuickEdit (beta)の設定

Table Viewの右上に赤で囲ったアイコンが出現するようになります。

Enable QuickEdit (beta)のボタン

このボタンを押すことで、スプレッドシートを直接編集するようなUIでカラムの値を直接更新することができます。


Automationタブに関係する機能

Schedule型BOTの検証

Schedule型は設定した時間になって発火するBOTですが、Runを押すことで即時に検証することが可能です。

Runボタンの機能
タスクのコピー

タスク設定の画面右上にあるLinkをONにします。

タスクリンク設定
LinkkingをON

こうすることで別のAutomationに登録したtaskを呼び出せるようになります。

Custom taskの設定
タスクの呼び出し
Automationエラーの確認方法

Automationが予期せぬエラーをした場合、エラー箇所のヒントが確認できます。

monitorをクリック
エラーメッセージの確認方法
テキストリンクを意味のわかる文字列に変える

デフォルト設定のままではAutomationでファイルリンクを送信する場合、非常に長い文字列となります。

ファイルリンクの文字数確認
届いたメールの内容

ここで、HTMLを使うことで任意の文字列とすることが可能です。

<a href=”<<[COL4]>>”>ファイルリンク</a>

黄色下線の部分をカラム値青下線の部分を任意のテキストに変えてください。

HTMLの設定
確認メールの内容

この設定をすることでスッキリしたメール本文になるので、覚えておくといいでしょう(^^)


Settingsタブに関係する機能

アプリ立ち上げ画面の設定

Settings → General → General にあるStarting viewに最初に表示させたいViewを設定できます。

Starting viewの設定

ここには関数も入力できるので、ユーザーによって条件分岐を設けることも可能です。

1列目の固定(Table View)

Settings → General → General にあるPreview new featuresをONにします。

Preview new featuresの設定

次に、1列目に固定したいカラムをLABELに設定します。(テキストのみ

1列目固定のtable view

この設定をしておくことで、Table Viewの1列目を固定することができます。


まとめ

以上、アプリ開発において知っておくと便利な機能をまとめた記事でした。

今回ご紹介した内容を知っておくことで、今後のアプリ開発における理解がより深まるでしょう。

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

]]>
https://www.free-biblio.com/useful-features-6653/feed/0
【知っていると便利】動的メールの注意点と活用事例https://www.free-biblio.com/appsheet-dynamic_mail-6632/https://www.free-biblio.com/appsheet-dynamic_mail-6632/#respondThu, 01 May 2025 14:33:32 +0000https://www.free-biblio.com/?p=6632

AppSheetではAutomation機能を設定することで、比較的簡単にメール送信の仕組みを構築することができます。 AppSheetでアプリ開発をする人は、Googleアカウントを持っていると思うので、普段のメールツ ... ]]>

本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。

本ブログでは新UI画面で内容をまとめています。

新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)

新UI画面の説明

まずはじめに

本記事はこんな人におすすめ!!
  • Automationの送信メールにアプリのViewを埋め込んで直接編集がしたい人
  • 作成したアプリのUX/UIを向上させたい人
本記事を読んで出来るようになること
  • 動的メール(Dynamic Mail)の設定方法がわかる
  • 動的メールの設定の基本がわかる

AppSheetではAutomation機能を設定することで、比較的簡単にメール送信の仕組みを構築することができます。

AppSheetでアプリ開発をする人は、Googleアカウントを持っていると思うので、普段のメールツールとしてGmailを使っていることが多いのではないでしょうか?

実はAutomationで送信されるメールにアプリのViewを埋め込んで、アプリを開かなくても直接対象となるカラムを更新することが可能です。

まだ開発段階のような気がするので、本記事の内容からさらに今後更新されると思いますが、これを知っておくことでPCスキルが低い(メールの返信は出来るくらい)の人でも業務DXの恩恵をこうむることが出来るような仕組みを導入することも可能だと思います。

それでは勉強していきましょう(^^)

アプリ開発に慣れていない人はまずはこちらからどうぞ

参考記事

抑えておきたい基本ルール

こちらのページに動的メールの基本ルールが掲載されています。

わかってます。リンク先のページは文字が多すぎますよね?

ということで、私の方で特に重要だと思う部分を書き出してみました。

以下の点を抑えておけば、とりあえず大丈夫だと思います!

  • 動的メールを使えるのはGmailユーザーのみ(上限は50通 / 日)
  • サポートされているViewは、Detail と Form の2種類
  • サポートされていないData typeが複数ある
  • 動的メールに使えるアクションボタンは2種類(set the value と add a new row)
  • 動的メールを転送すると埋め込み機能が解除される
  • 動的メールの効果は受信後30日が期限

特に赤下線のルールは覚えておきましょう(^^)

サポートされていないData typeですが、これはメールに埋め込まれたView画面で編集ができないものと覚えておきましょう。

ChangeCounter
ChangeLocation
ChangeTimestamp
Color
Drawing
File
Image
Price
Progress
Show
Signature

これらのTypeを含むcolumnが存在する場合、Automationエラーが発生します

あと、設定が許されているアクションボタンは、

  • あらかじめ設定した値を入力する set the value
  • 自身もしくは別のテーブルに行を追加する add a new row

上記2つしかないので、あまりむずかしいロジックを組み立てることができないことも把握しておきましょう(^^)


検証データの紹介

アプリを構成するスプレッドシート

設備トラブルを報告するアプリを想定して、上図のような列構成で検証をしてみます。

続いて、アプリのデータタイプの設定を今回はこんな感じでやってみました。

データタイプの設定

本記事では動的メールのイメージがつかめればいいので、細かな設定は省略します。

データタイプの設定が終わったら、次はアクションボタンの設定をしておきましょう。

ステータスカラムには未対応の値が入力されているので、これを確認済みにするアクションボタンを作っておきます。

アクションボタンの設定
アクションボタンの設定例

Detail Viewの調整

動的メールに埋め込むことが出来るのは、DetailもしくはForm Viewになるので作り込みを行います。

このViewを作っておくことで、わかりやすいUIを提供する事ができるので妥協せずいきましょう!

ユースケースとして多いのは、Detail Viewの方だと思うので今回はこちらで設定を行います。

今回は埋め込みViewという名前のDetail Viewを作成します。

detail viewの作成
View typeはdetailを選択します
View optionの設定

View optionの設定で特に大事になってくるのは、 Quick edit columns と Colmun order の2つです。

Quick edit columns にセットしたカラムは動的メール内で値を入力・更新することが可能

Column order は動的メール内で表示するカラムを決めることが可能

上図の設定では、届いた動的メールに表示されるのは現場写真と報告内容とコメントの3つです。

また、コメントに関してはメール内のカラムの値を直接編集できる設定となっています。

ここの設定は読者の方のユースケースに沿って、適切に設定をしてみてください(^^)


Automationの設定

特に難しい設定はないので、ポイントとなる部分だけまとめていきます。

Automationの発火条件を決める
Automationの発火条件

条件は何でもいいですが、今回は新規にデータが登録された時 とします。

動的メールの設定をする
タスクの基本設定

タスクは Send an email を選択し、Email TypeはEmbedded app view を選びます。

こちらを選ばないと動的メールは作成できません・・・

タスクの詳細設定

赤矢印の部分の設定をします。内容は自身のアプリ環境に応じて変えてください。

タスクの詳細設定

続いて、メール本文とメールに埋め込むViewを設定します。

動的メールの設定は以上です。


動的メールの検証

最後に、これまでに行った個々の設定が意図したとおりに表現されているか確認しましょう。

メールのプレビュー確認方法

上図の Preview email body をクリックすることで、簡易的に確認することもできますが、こちらはスプレッドシートの2行目のデータでしか確認することができません。

その点に注意して検証をしてみましょう!

Preview email bodyの画面
Preview email bodyの画面

この画面は実際にGmailに届く動的メールとほぼ同じ画面です。

メールにはアクションボタンやQuick editで設定したカラムの編集が出来るのが確認できます。

動的メール内で操作した情報はスプレッドシートに反映されますので、アプリを開かなくてもアプリを開いて操作をしたことと同じ結果を得ることができます!


まとめ

以上、動的メールの設定についての記事でした。

簡単な承認フローや情報共有を目的とするようなアプリだと、今回ご紹介した設定で十分なことが多いので既存アプリに実装してみてもいいかもしれません。

最後にもう一度動的メールの制約のおさらいです。

  • 動的メールを使えるのはGmailユーザーのみ(上限は50通 / 日)
  • サポートされているViewは、Detail と Form の2種類
  • サポートされていないData typeが複数ある
  • 動的メールに使えるアクションボタンは2種類(set the value と add a new row)
  • 動的メールを転送すると埋め込み機能が解除される
  • 動的メールの効果は受信後30日が期限

もしアプリ開発中にエラーが発生した場合は、大体はData typeの設定だと思います。

エラーメッセージにもその旨が記載されるので、出た場合は解除してあげましょう!

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

]]>
https://www.free-biblio.com/appsheet-dynamic_mail-6632/feed/0
【TIPS】AppSheetでファイルパスをセットする方法https://www.free-biblio.com/appsheet_file_pass-6591/https://www.free-biblio.com/appsheet_file_pass-6591/#respondWed, 16 Apr 2025 14:18:35 +0000https://www.free-biblio.com/?p=6591

AppSheetのAutomation機能には、登録されたデータからファイルを生成する機能があります。 AppSheetで生成したPDFは、メール添付やGoogleドライブ(マイドライブ)への保存は可能ですが、後から過去 ... ]]>

本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。

本ブログでは新UI画面で内容をまとめています。

新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)

新UI画面の説明

まずはじめに

本記事はこんな人におすすめ!!
  • Automationで生成したExcelやPDFのリンクをアプリにつけたい人
本記事を読んで出来るようになること
  • AppSheetの相対パスの設定方法がわかる

AppSheetのAutomation機能には、登録されたデータからファイルを生成する機能があります。

AppSheetで生成したPDFは、メール添付やGoogleドライブ(マイドライブ)への保存は可能ですが、後から過去の特定のPDFを探し出すのは、標準機能だけでは手間がかかります。

そこで本記事では、生成したファイルへのリンクをカラムに保存し、いつでも目的のPDFに容易にアクセスできるようにする設定について解説します。

以下の3つの設定が、特に重要となります。

  • アプリを構成するスプレッドシートをマイドライブにある当該アプリのフォルダに投函する
  • Automationで生成するファイルの保存先と名前を関数で制御する
  • ファイルリンクを保存するカラムに②の関数をセットする

これらの設定をすることで、どんなアプリにもファイルパスをセットすることが可能です!

それでは勉強していきましょう(^^)


検証アプリの下準備

今回の検証に使ったスプレッドシートのカラムは、以下のようにしました。

ファイルパスのスプレッドシート

これをアプリ化し、データタイプの設定は以下のようにします。

データタイプの設定

ファイル生成のカラムは、Yes/NoタイプにすることでAutomationの発火のフラグを持たせています。

ファイルパスのカラムは、Fileにしておきましょう。

次に、ファイル生成をするAutomationの機能を実装します。

ファイル生成をTRUEにするアクションボタンを作っておいて、それを押したらAutomationが発火してファイルを生成する仕組みを作りましょう!

本記事では、ポイントとなる部分だけ写真を貼っておきます。

ファイル生成アクションの作成
ファイル生成をTRUEにするアクション
Automationの発火条件
Automationの発火条件
PDF作成BOT
ファイル生成の設定

これで下準備はOKです。お疲れ様でした!


スプレッドシートとアプリのフォルダ階層を揃える

アプリの設定が完了したら、アプリを構成しているスプレッドシートをアプリのフォルダに移動させます。

これを忘れるとファイルパスを設定しても動作しません・・・

以下の方法を参考にしつつ、スプレッドシートの保存場所を移動させましょう!

Googleドライブ内のデータ処理

まずはGoogleドライブを立ち上げて、検索バーにアプリの名前を入力します。

そうするとアプリの名前が含まれたフォルダが検索にかかるので、ここの中にスプレッドシートを入れましょう!

下図のようになっていればOKです。

スプレッドシートの保存画面

Automationで生成するファイルの保存先と名前を関数で制御する

この設定も非常に重要です。

設定のポイントとなるところを確実に抑えていきましょう。

  • ファイルの保存先(相対パス)を指定する
  • ファイルの名前を決める(タイムスタンプの設定をオフにする)

これら2つの設定を順に解説していきます。

フォルダパスの設定
File Folder Pathの設定

まずはファイルの保存先を設定します。赤枠で囲まれた箇所が該当部分になります。

もしここに何も入力しなかった場合は、アプリフォルダの中に「Files」や「Attachment」といったフォルダが自動生成されるようになります。

  • Create a new fileの場合はFile
  • Send an emailに添付する(Attachする)場合はAttachment

今回は「PDF」というフォルダの中に「テスト」というフォルダを生成したいとします。

File Folder Pathに “PDF/テスト” と入力します。

また、ここにはフラスコマークがあるので関数を入力することも可能です。

例えば、請求書発行アプリなんかだと取引先別にフォルダを分けることも可能です。

その場合は、 “請求書/”[会社名] みたいな表記になります。


次にファイルの名前を設定します。

先に設定したファイルパスのすぐ下にあるので、わかりやすいです(^^)

File Name Prefixの設定
File Name Prefixの設定

デフォルトでは「AppSheetDoc」となっているので、仮に上図の状態でPDFを生成したとすると AppSheetDoc.pdfという名前のPDFが作成されます。

Disable Timestamp? のトグルボタンをONにすることで、タイムスタンプがつかなくなるのでファイル名が一意となります。

今回は簡単なテキスト値と、PDFを作成した日付を入れてみます。

ファイルパスと同じく、カラムの値をファイル名に使うことももちろん可能です。

例えば、 “【請求書】”&” “&[会社名]&TEXT(TODAY(), “YYYYMMDD”) みたいな表記になります。

注意点として、TODAY()関数の書式フォーマットにスラッシュ(/)を入れないことです。

スラッシュを入れると、フォルダ階層と判定されてしまいます!

“PDF作成”&” “&TEXT(TODAY(), “YYYY/MM/DD”)とした場合、フォルダの階層とファイル名が、PDF → テスト →PDF作成2025 → 04 → 15.pdf となり、意味不明な表記になってしまいます・・


生成したファイルへのリンクを取得する

最後の設定として、フォルダリンクと該当ファイルへの相対パスを取得するテキスト値を用意します。

設定はめちゃくちゃ簡単です。下図の手順を参考にしてください(^^)

ファイル生成Automationの下に新しいAutomationを追加する
ファイル取得のステップを追加

ファイル生成のAutomationに追加する形でステップを追加します。

追加したステップの設定は、下図の赤枠のようにしましょう。

追加ステップの設定
先に設定したフォルダパスとファイル名をコピーする

一つ前のAutomationで設定したテキスト値や関数をコピーしておきます。

フォルダパスとファイル名を取得

赤枠で囲った部分をそのままコピーしましょう!

ファイルリンクにSTEP.2でコピーした関数を貼り付ける

最後に取得したファイルリンクをテキスト値として格納する設定をします。

ファイルパスの設定

入力する関数はSTEP.2でコピーした関数を結合させて作ります。

ファイルパスの設定
ファイルパスの完成イメージ

ファイルパスの作成手順ですが、

  • フォルダパスを貼り付ける
  • “/” を文字列として結合させる
  • ファイル名を貼り付ける
  • “.pdf”を文字列として結合させる

上記の手順でそれぞれの文字列を結合させていきましょう!

これで準備は完了です。お疲れ様でした(^^)


設定の確認

アプリの検証

それでは最後に今回設定したアプリの挙動を見てみましょう!

Automationの発火条件を対象のアクションボタンを押すことにしてあるので、早速ポチッと(^^)

Automationの検証
ファイルパスの確認

生成されたファイルパスをクリックすると、Automationで作成したファイル(デフォルトでは保存先はマイドライブ)を閲覧することが可能です(^^)


まとめ

以上、Automationで作成したファイルへのリンクを取得する方法についての記事でした。

今回は作成する資料はPDFを想定していますが、Excelの場合は最後の拡張子を”.xlsx”とすればOKです。

また、今回は一度生成したPDFを再作成する想定で作っていませんので、登録されているデータを更新して再作成するユースケースを想定するなら、ファイル名に枝番(更新のたびにカウントが1増えるような仕組み)を入れてあげましょう(^^)

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

]]>
https://www.free-biblio.com/appsheet_file_pass-6591/feed/0
【まとめ】AppSheetのアクションボタンでできることhttps://www.free-biblio.com/appsheet_action_button-6564/https://www.free-biblio.com/appsheet_action_button-6564/#respondSun, 06 Apr 2025 15:37:57 +0000https://www.free-biblio.com/?p=6564

今回の記事はアクションボタンに関するまとめ記事です(^^) AppSheetでアプリ開発を進めるうえで、ユースケースに応じた機能を実装したい となったときに触ることになるのがアクションボタンの設定になります。 これまでA ... ]]>

本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。

本ブログでは新UI画面で内容をまとめています。

新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)

新UI画面の説明

まずはじめに

本記事はこんな人におすすめ!!
  • AppSheetのアクションボタンでできることを知りたい人
  • AppSheetを学び始めたばかりの人

今回の記事はアクションボタンに関するまとめ記事です(^^)

AppSheetでアプリ開発を進めるうえで、ユースケースに応じた機能を実装したい となったときに触ることになるのがアクションボタンの設定になります。

ここでロジックを組めないなら、AppSheet以外の解決策を考える必要があります

これまでAppSheetでアプリ開発をしてきましたが、アクションボタンでできることが増えたり減ったりした記憶がないので、一旦まとめてみようと思います。

これまで何となく触っていた人もぜひ本記事を読んでもらえればと思います。

特に【重要】のアクションボタンは、これからアプリを開発するなら抑えておきたい内容です。

それでは勉強していきましょう!


データの下準備

今回の記事をまとめるのに使用したデータの紹介です。

シート1の列情報
シート1の列情報

アクションボタンの機能を確認したいので、シート1にはURLとファイル、電話番号、メールアドレスのカラムを用意しておきました。

シート2の列情報
シート2の列情報

シート2の方は、シート1のカラムの一部を用意しておきました。

これらテーブル情報をAppSheetに取り込み、データタイプの設定を以下のようにします。

データタイプの設定

URL、ファイル、電話番号、メールアドレスのカラムはそれぞれ、Url、File、Phone、Emailのデータタイプに変更するようにしてください。

データタイプを適切に変更しておくことで、AppSheetが自動でアクションボタンを作ってくれます

シート2の方は、特にデータタイプの設定を変更しなくてOKです。

続いて、アクションボタンの機能を見ていきましょう!


アクションボタンの解説

アクションボタンのイメージ

アクションボタンはアクションペイン(⚡マーク)で作り込むことができ、AppSheet側で自動生成したアクションボタンについては、System generated という表記がついています。

アクションボタンとSystem generated

System generatedの表記があるアクションボタンについては、削除ができないので不要なときはPositionをHideにして非表示にしておきましょう!

ちなみにPositionには、Primary、Prominent、Inline、Hideの4つがありそれぞれの特徴として

  • Primary:スマホだと画面右下、PCでは画面右上に配置
  • Prominent:Detail画面の画面上部に配置
  • Inline:主にTableもしくはDetail Viewの任意箇所に配置
  • Hide:アプリ上では表示させない(アクションボタンの機能としては存在する)

が挙げられます。この4つのPositionについては記憶しておきましょう。

次は、本題であるアクションボタンで実装できる機能についてです。

機能の開発は、Do thisにあるリストを上から順に解説していきます。


App: copy this row and edit the copy

これを選ぶことで、今選択している行のデータ(カラム値)をコピーした状態で、編集画面を立ち上げる事が可能です。

App: copy this row and edit the copy

Do thisにApp: copy this row and edit the copyをセットした状態で、Detail Viewにあるアクションボタンを押すと・・

フォーム画面の立ち上がり

テキストやステータスのカラムに、直前まで選んでいた情報がそのままコピーされた状態でフォーム画面が立ち上がっていることが確認できます。

ユースケースは、一度登録したデータをコピーする時 となります。

設定としては非常に簡単ですが、注意点もあります。

  • 全てのカラムの情報をコピーしてしまう(コピーしたいカラムを選択することができない)
  • refで紐ついている情報をコピーすることができない(親テーブルのデータのみコピー可能)

上記2つの注意点に関しては、別のロジックを組むことで対処可能です

参考記事

App: edit this row

これを選ぶことで、今選択している行の編集画面を立ち上げる事が可能です。

これはSystem generatedのEditと全く同じアクションボタンです。

App: edit this row

App: export this view to a CSV file (not a row-level action)

これを選ぶことで、今見えているViewを構成しているデータをCSV形式でエクスポートする事が可能です。

また、これは特定の行に対して行うことはできず、テーブルやスライス単位での実行となります。

このアクションボタンは、PositionをPrimaryにしておくのがいいです。

App: export this view to a CSV file (not a row-level action)

CSV file localeは、自国の国名を選ぶようにしましょう。

日付や月、時間の表現が国によって違うので、自国を選んでおくのが無難です。

このアクションボタンはTable Viewで使うようにしてください。

参考記事

App: go to another AppSheet app

これを選ぶことで、別のアプリへ遷移する事が可能です。

次に説明するアクションボタンと違いがないように思いますので、合わせて解説します。


【重要】App: go to another view within this app

直訳すると、このアプリの別のViewへ遷移するですが、別のアプリに行くことも可能です。

私の使用環境では、どちらを使っても大差がないのでどちらを選んでもOKだと思います。

これらをDo thisで選択すると、必ずTargetを設定する必要があり、ここに入力する関数はDeeplink関数と言われるものになります。

App: go to another view within this app

Deeplink関数はAppSheet特有の関数で、知っていると使用画面のコントロールが可能です

参考記事

App: import a CSV file for this view (not a row-level action)

これを選ぶことで、今見えているViewに対してCSVデータをインポートする事が可能です。

注意点として、読み込ませるCSVデータとテーブルの列情報を一致させる必要があります。(異なる場合はエラーメッセージが出ます)

先に説明したCSVエクスポートのアクションボタンと同じような設定にしておきましょう。

App: import a CSV file for this view (not a row-level action)

次に、以下のように列情報を揃えたCSVデータを用意します。

インポートするCSVデータ

アクションボタンからインポートするCSVデータを選択し、成功すると以下のようなポップアップが出現します。

インポート成功画面

既存のシステムをAppSheetに置き換えるときとかに使えるアクションボタンです。


App: open a form to add a new row to this table (not a row-level action)

これを選ぶことで、今のテーブルにデータを登録するフォーム画面を立ち上げる事が可能です。

これはSystem generatedのAddと全く同じアクションボタンです。

App: open a form to add a new row to this table (not a row-level action)

【重要】Data: add a new row to another table using values from this row

これを選ぶことで、今選択している行のデータを別のテーブルに追加する事が可能です。

another tableとありますが、実は自テーブルを選択することも可能です。

端的に言えば、フォーム画面を立ち上げずにデータを転記したい場合に使用します。

Data: add a new row to another table using values from this row

上図の設定だと、Add rowのアクションボタンを押すと、テキストカラムに「入力しましょう」、ステータスに「入力」の値が入った状態の行が追加されます。


Data: delete this row

これを選ぶことで、今選択している行データを削除する事が可能です。

これはSystem generatedのDeleteと全く同じアクションボタンです。

Data: delete this row

Data: execute an action on a set of rows

これを選ぶことで、別のテーブルに存在するアクションボタンを別のテーブルに呼び出す事が可能です。

設定が少し複雑なので、下図を参考にしてください。

Data: execute an action on a set of rows

上図の設定だと、シート2にある「CSVインポート」を全ての行に対して実行する になります。

端的に言えば、「CSVインポート」のアクションボタンはシート2に存在しますが、これがシート1に表示されるようになった

と思ってください。

高度なアプリを作るときに必要なアクションと思っておけばOK!

Referenced Rows にはリストを設定する必要があり、ここをどうするのか?が最初はとても難しいと思います。

リストを返す関数として、SELECT()関数を必ず習得しておきましょう(^^)

SELECT()関数はリストを返す関数の代表関数です

参考記事

【重要】Data: set the values of some columns in this row

これを選ぶことで、テーブルに存在するカラムに値をセットする事が可能です。

Data: set the values of some columns in this row

上図の設定だと、「値をセット」をクリックするとメモカラムにテストというテキストが入力されます。

Set these columns にセットしたいカラムを複数セットすることも可能です。

アプリのUI/UXを高める設定として使う場面が多いので、ぜひマスターしておきたいアクションです。

また、このアクションはINPUTアクションを設定することができることも知っておきたいです!

INPUTアクションの使用例のアプリです

参考記事

External: go to a website

これを選ぶことで、設定したURLのウェブサイトを開く事が可能です。

データタイプをUrlにすることで、AppSheet側で自動で生成をしてくれるアクションです。

External: go to a website

URLを結合することで便利な機能を実装できます

参考記事

External: open a file

これを選ぶことで、設定したファイルパスを開く事が可能です。

データタイプをFileにすることで、AppSheet側で自動で生成をしてくれるアクションです。

External: start a phone call

これを選ぶことで、カラムに登録されている電話番号に電話をかける事が可能です。

データタイプをPhoneにすることで、AppSheet側で自動で生成をしてくれるアクションです。

注意点として、このアクションはモバイル端末しか使うことができません。

External: start a text message

これを選ぶことで、カラムに登録されている電話番号にショートメッセージを送る事が可能です。

データタイプをPhoneにすることで、AppSheet側で自動で生成をしてくれるアクションです。

注意点として、このアクションはモバイル端末しか使うことができません。

External: start an email

これを選ぶことで、カラムに登録されているメールアドレス宛てGmailを送る事が可能です。

データタイプをEmailにすることで、AppSheet側で自動で生成をしてくれるアクションですが、自分で設定することも可能です。

External: start an email

上図のように直感的にメール作成の設定が可能ですが、CCやBCCの設定などはできないため、細かな設定をしたい場合は別のアクションで設定をする必要があります。

URLを結合することで便利な機能を実装できます

参考記事

Grouped: execute a sequence of actions

これを選ぶことで、複数のアクションボタンを1つにまとめる事が可能です。

Grouped: execute a sequence of actions

アクションは何個でも合わせることができますが、処理は上から順に実行する事になっています。

注意点として、Deeplink() 関数のように画面遷移を伴うアクションを使用する場合、処理が途中で中断してしまいます

そのため、該当するアクションを設定する際は、事前に動作確認を行うことを推奨します。


まとめ

以上、AppSheetのアクションボタンで実装できる機能についてのご紹介でした。

本記事で紹介した機能で、現行業務をAppSheetに置き換えることができなければ、別のITツールでの業務効率化を検討したほうがいいと思います。

アプリ開発の際、本記事のことを思い出して活用してもらえれば幸いです(^^)

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

]]>
https://www.free-biblio.com/appsheet_action_button-6564/feed/0
【TIPS】AppSheetにGoogle Mapの機能をつける方法https://www.free-biblio.com/appsheet-map-search-6545/https://www.free-biblio.com/appsheet-map-search-6545/#respondFri, 04 Apr 2025 09:01:54 +0000https://www.free-biblio.com/?p=6545

今回は、アプリにGoogle Mapの機能を実装する方法をまとめています。 現在地から目的地までのルート検索や、目的地のストリートビューをワンクリックで検索できるので、アプリユーザーのUI向上に役立つ知識です(^^) 住 ... ]]>

本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。

本ブログでは新UI画面で内容をまとめています。

新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)

新UI画面の説明

まずはじめに

本記事はこんな人におすすめ!!
  • AppSheetにGoogle Mapのルート検索やストリートビュー機能を実装したい
  • AppSheetでUI向上のTIPSを知りたい人

今回は、アプリにGoogle Mapの機能を実装する方法をまとめています。

現在地から目的地までのルート検索や、目的地のストリートビューをワンクリックで検索できるので、アプリユーザーのUI向上に役立つ知識です(^^)

住所を登録するようなアプリには実装する事ができる設定になるので、そういうアプリに使ってみてください!

それでは勉強していきましょう(^^)


住所から緯度経度を入手する

この設定をするためには、緯度経度の情報が必要です。

私はこちらのサイトで住所を検索し、緯度経度の情報に変換してみました。

例えば、東京駅の住所を下記のように入力します。

住所検索

住所を入力してGPS座標検索をクリックすると、以下の画面が表示されます。

緯度経度の表示

緯度: 35.682454 経度: 139.768283 と表示がされたので、カンマで区切って 35.682454,139.768283を緯度経度情報として、登録をするようにしましょう。


データシートの作成

訪問先登録シート

今回の検証にあたり、使用したシートのカラム情報です。

大事なのは緯度経度のカラムなので、上述した方法で緯度経度を調べて入力しておきましょう!

データの準備ができたらアプリ化します。データタイプの設定は以下のとおり(^^)

データタイプの設定

緯度経度のデータタイプをLatLongにすることだけ忘れずに設定してください。

次に、現在地の緯度経度情報を取得するためのカラムをVCで準備します。VCの設定は以下のようにしてください。

VCの設定

App formulaには、位置情報を取得するHERE()を入力しましょう。

これで下準備は完了です(^^)


現在地から目的地までのルート検索をする

下準備が完了したら、まずは現在地から目的地までのルート検索を立ち上げるURLを作成してみましょう(^^)

下図を参考に新しくVCを作成します。

ルート検索のVC

TypeはUrlを選択し、App formulaには以下の関数を入力しましょう(^^)

“https://www.google.com/maps/dir/?api=1&origin=” & [現在地] & “&destination=” & [緯度経度] & “&travelmode=” & “driving”

本記事と同じ設定をしている場合は、コピペでOKです!

このままだとカラムにURLがそのまま表示されてしまうので、関数を使って表現を変えてみます。

HYPERLINK(“https://www.google.com/maps/dir/?api=1&origin=” & [現在地] & “&destination=” & [緯度経度] & “&travelmode=” & “driving”, “ルート検索”)

HYPERLINK関数を使うことで、第二引数の文字列(この場合だとルート検索)を表示することができます。

AppSheetは関数の知識が非常に重要です!

参考記事

ここで設定した関数の挙動を見てみましょう。下図のような表記になっていればOKです。

ルート検索VCの挙動を確認する

ルート検索をクリックすると・・・

Googleマップ検索の画面

Google Mapのタブが新規で立ち上がって、現在地から目的地までの走行距離ルートが表示されていればOKです(^^)

URLを書き換えると・・・

drivingの部分をwalkingに変えると徒歩、bicyclingだと自転車、transitだと公共交通機関のルートに変わります(^^)

上記の設定は、アプリユーザーのニーズに沿って変更してください。


目的地のストリートビューを表示させる

今度は目的地までの経路ではなく、目的地のストリートビューを表示させてみましょう。

設定方法は先ほどと同じようにVCを使って実装をしてみます。

ストリートビューVCの作成

TypeはUrlを選択し、App formulaには以下の関数を入力しましょう(^^)

HYPERLINK(“https://maps.google.com/maps?q=&layer=c&cbll=” & [緯度経度] & “&cbp=12,0,0,0,0″,”ストリートビュー”)

最後に設定した関数の挙動を見てみましょう。下図のような表記になっていればOKです。

ストリートビュー設定の確認

ストリートビューをクリックすると・・・

東京駅のストリートビュー

登録してある緯度経度をポイントとして、ストリートビューが立ち上がります(^^)

顧客訪問先管理アプリや日記アプリなどに設定しおくと、アプリの利便性がアップするかと思われます。

作成難易度は高いですが参考記事です!

参考記事

まとめ

以上、VCを使ったGoogle Map機能をAppSheetに取り込む方法についての記事でした。

住所を記録するようなアプリであれば、本記事の内容は使えるので、UIを向上させる設定として導入してみてはいかがでしょうか?

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

]]>
https://www.free-biblio.com/appsheet-map-search-6545/feed/0
【TIPS】Googleサイトにフィルターをかけた状態でLooker studioのグラフを埋め込む方法https://www.free-biblio.com/google-site-looker-studio-6523/https://www.free-biblio.com/google-site-looker-studio-6523/#respondWed, 25 Dec 2024 09:41:46 +0000https://www.free-biblio.com/?p=6523

今回の記事内容はLooker studioについてです。 Googleツールを使って、組織目標の数値管理をするとなったときに 上記のような手順でグラフを作成、数値進捗をメンバーと共有するというのは、特に難しい設定もなく数 ... ]]>

本記事はLooker studioを最近使い始めた管理人がここ大事!と感じた部分を記事にまとめています。


まずはじめに

本記事はこんな人におすすめ!!
  • Looker studioでフィルターをかけた状態のグラフをGoogleサイトに掲載したい人
本記事を読んで出来るようになること
  • Looker studioのレポートを埋め込む方法がわかる

今回の記事内容はLooker studioについてです。

Googleツールを使って、組織目標の数値管理をするとなったときに

  • スプレッドシートにデータを登録
  • データソースをスプレッドシートにし、Looker studioを使ってグラフにする
  • 作成したグラフをGoogleサイトを使ってWebページまとめる

上記のような手順でグラフを作成、数値進捗をメンバーと共有するというのは、特に難しい設定もなく数値管理をする設定としておすすめです。

Looker studioにはフィルター機能として、「コントロール」を追加することができます。

この設定を有効にしたまま、Googleサイトにグラフを埋め込む方法をまとめましたので参考にしてください(^^)

それでは勉強していきましょう!


Looker studioでグラフを作成

今回使用するLooker studioに取り込むためのデータを準備します。

取り込むスプレッドシートのデータ

用意するデータは、フィルターをかけられるようなデータであれば何でもいいです。

上記のデータから円グラフを作成すると・・・

lookerグラフ

こんな感じになります。

左のグラフはカテゴリー別、右のグラフは商品名別で表示しています。

グラフを作成したら、下図を参考にしてLooker studioのレポートの埋込みを有効にします。

埋め込みを有効にする

次に表示される画面からコードを埋め込む、またはURLを埋め込を選択します。

コードを埋め込むの場合
コードを埋め込むの画面

画面下に幅と高さを設定することで、Googleサイトにグラフを埋め込むときの大きさを調整することができます。

クリップボードにコピーのボタンをクリックして使用します(^^)

URLを埋め込むの場合
URLを埋め込む画面

こちらは表示されているURLをコピーするだけでOKです。


グラフをGoogleサイトに埋め込む

Looker studioでグラフが作成できたら、Googleサイトに埋め込んでみましょう。

Googleサイトへの埋込み方法

Googleサイトの編集画面から、埋め込む → URL → 先ほどコピーしたURLを貼り付けます。

貼り付けた結果がこちら↓

Googleサイトの画面

次に、Looker studioのページに戻りコントロールを選択してみましょう。

国を日本にしてみると・・

グラフの表示条件を変更

日本にカテゴライズされた状態のデータになります。

この状態のURLを取得する方法は、共有 → レポートへのリンクを取得をクリックして、

レポートへのリンクを取得

レポートの現在のビューにリンクをする にチェックを入れて、共有リンクをコピーします。

レポートへのリンクを取得

このコピーしたURLをブラウザで検索をすれば、フィルターがかかった状態のページにアクセスできますが、Googleサイトにこのまま埋め込んだ場合は、フィルターがかかった状態のグラフは表示されません

これを解除する方法を次の見出しでまとめます!


フィルターをかけた状態でグラフをGoogleサイトに埋め込む

手順は以下を参考にしてください(^^)

  • グラフのフィルターをかけた状態のURLをコピーしておく
  • Looker studioのレポートの埋込みから「コードを埋め込む」を選択し、クリップボードに保存する
  • Googleサイトの「埋め込む」を選択し、埋め込みコードに②のコードを貼り付ける
  • ③のコードを編集する

それぞれの手順の詳細を書いていきます。

グラフのフィルターをかけた状態のURLをコピーしておく
レポートへのリンクを取得

共有 → レポートへのリンクを取得を選択

レポートへのリンクを取得

この共有リンクをコピーしておきます。

Looker studioのレポートの埋込みから「コードを埋め込む」を選択し、クリップボードに保存する
埋め込みを有効にする

ファイル → レポートを埋め込む → 埋め込みを有効にするをクリック

コードを埋め込むの画面

コードを埋め込むを選択し、幅と高さを変更してクリップボードにコピーをクリック

Googleサイトの「埋め込む」を選択し、埋め込みコードにSTEP.2のコードを貼り付ける
Googleサイトにコードを埋め込む

Googleサイトの編集画面にある「埋め込む」から、クリップボードにコピーしてある埋め込みコードを貼り付ける

STEP.3のコードを編集する

STEP.3の画面をそのままにして、新規でブラウザを立ち上げ、STEP.1で保存したフィルターがかかった状態のURLをWebで検索します。

表示されたページのURLを再度コピー

次に、上図を参考にして表示されたページのURLを再度コピーします。

STEP.3の画面に戻り、以下のように埋め込みコードを編集します。

埋め込みコード編集手順その1

青でハッチングされた部分を、先ほどコピーしたURLと入れ替えます。

埋め込みコード編集手順その2

入れ替えたあとのURLで、上図の 『u/0』の部分を、『embed』に修正します。

埋め込みコード編集手順その3

このようになっていればOK!(^^)


まとめ

以上、Googleサイトにフィルターをかけた状態でLooker studioのグラフを埋め込む方法 についてまとめた記事でした。

ビジネスニーズとしては、生産本部が集計をしたデータを生産拠点に共有するときに、各生産拠点のデータを表示させる あたりが考えられるかなと思います。

スプレッドシートでは、なかなか凝ったグラフを作成することができないので、Googleアプリを使う人にとっては、Looker studioは強力なグラフ作成ツールになります(^^)

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

]]>
https://www.free-biblio.com/google-site-looker-studio-6523/feed/0
【超便利(^^)】自宅から払込票の支払いを済ます方法https://www.free-biblio.com/payment-of-automobile-tax-6087/https://www.free-biblio.com/payment-of-automobile-tax-6087/#respondFri, 10 May 2024 13:01:43 +0000https://www.free-biblio.com/?p=6087

今日仕事から帰ってきたら自動車税の支払い用紙がポストに入っていました。 私はスマホからさっと支払いを終わらせたのですが、「これって知らない人もいるのでは?」と思ったので内容をまとめることにしました。 ネット銀行の口座を持 ... ]]>

自動車税や公共料金などの払込票の支払いのときに、その場で支払いを済ますことができる方法をまとめた記事です。


まずはじめに

本記事はこんな人におすすめ!!
  • 支払い用紙で料金の支払いをするために金融機関の窓口やコンビニに行くのが面倒な人
  • 楽天銀行または住信SBIネット銀行のネット銀行口座をすでに持っている人
本記事を読んで出来るようになること
  • ネット銀行アプリから場所時間を気にせずに銀行口座から支払いが出来る

今日仕事から帰ってきたら自動車税の支払い用紙がポストに入っていました。

私はスマホからさっと支払いを終わらせたのですが、「これって知らない人もいるのでは?」と思ったので内容をまとめることにしました。

ネット銀行の口座を持っている人限定ですが、とても便利な機能ですのでぜひ知ってもらえたらなって思います(^^)

それでは勉強していきましょう!


必要なもの

アプリで払込票支払いをするために必要なものは次の3つです。

  • ネット銀行の口座とそれに連動した銀行口座のアプリ
  • バーコードや二次元コードが読み取れる端末機器(スマホ)
  • バーコードや二次元コードがある払込用紙

振込やATM手数料がネット銀行だと無料で済むことが多いので、その便利さを知っている人はネット銀行の口座を持っている人も多いと思います。

また、このブログの記事を見ているということは、ネット環境にアクセスができているのでスマホの所持も問題ないかと(^^)

残る払込用紙ですが、

  • 自動車税や固定資産税などの税金
  • 水道やガス、電気代といった公共料金
  • ショッピング代金などの払込票

あたりが使用するチャンスです!

使用できる環境が整っているのなら、一度チャレンジしてみるといいでしょう(^^)


操作手順

特に難しくはありませんが、スマホの操作画面を載せておきます。

楽天銀行の場合

ホーム画面下にある支払うをタップします。

楽天銀行アプリのホーム画面

楽天銀行コンビニ支払い(アプリで払込票支払)をタップします。

コンビニ支払いをタップ

ページ下にある払込票を読み取るをタップします。

払込票を読み取る

カメラが起動するので、払込票にあるバーコードや二次元コードを読み取れば完了です(^^)

住信SBIネット銀行の場合

ホーム画面にある料金等支払をタップします。

料金等支払をタップ

モバイルレジで支払うをタップします。

モバイルレジで支払う画面

バーコード/eL-QRコード読み取り開始をタップします。

バーコード読み取り画面

カメラが起動するので、払込票にあるバーコードや二次元コードを読み取れば完了です(^^)

以上です!

ちなみに私は楽天銀行をメインバンクにしていますが、この機能で支払いをしたら10円が振り込まれました笑

なんだろう?

金融機関の窓口やコンビニ支払いをしようとすると人件費がかかってしまうから、その分のお礼ですかね。

この機能はだれも損することがないと思う素晴らしい機能なので、ぜひ一度トライしてもらえたら嬉しいです(^^)

]]>
https://www.free-biblio.com/payment-of-automobile-tax-6087/feed/0
【活用事例】ダッシュボードでスキル可視化ツールを作ってみたhttps://www.free-biblio.com/skill-visualization-tool-5975/https://www.free-biblio.com/skill-visualization-tool-5975/#respondFri, 03 May 2024 05:34:16 +0000https://www.free-biblio.com/?p=5975

今回は、ダッシュボードViewで働くメンバーのスキルを可視化できるアプリを作ってみたいと思います。 スキルマップなんて言われたりもするそうですが、従業員の能力・技能を評価することで、やる気を引き出すとともに、不足する能力 ... ]]>

本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。

本ブログでは新UI画面で内容をまとめています。

新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)

新UI画面の説明

まずはじめに

本記事はこんな人におすすめ!!
  • 業務で使えるメンバーのスキル管理アプリを作成したい人
  • データタイプProgressを使ってみたい人
本記事を読んで出来るようになること
  • ダッシュボードViewを使ったスキル可視化ツールの作り方がわかる

今回は、ダッシュボードViewで働くメンバーのスキルを可視化できるアプリを作ってみたいと思います。

スキルマップなんて言われたりもするそうですが、従業員の能力・技能を評価することで、やる気を引き出すとともに、不足する能力・技能について教育計画を立てて、能力向上を図るツールとして活用するのが目的のようです。

こういうのって一回作ると見直しとか更新はしないんだよなー笑

AppSheetで作ってみると面白いかも?って思って作ってみたら、それなりのものが出来上がったので記事にしました(^^)

AppSheetのテーブル構成を勉強するのにちょうどいいレベルの内容となっているので、ぜひ参考にしてもらえたらなって思います。

それでは勉強していきましょう!


準備するデータについて

データテーブルの概略図

今回使用するテーブルは3つです。

それぞれのテーブルに用意したカラムは下図になります。

データカラムの説明

データタイプの設定

テーブル構成を理解したところで、それぞれのデータタイプの修正を行います。

設定についてはボックス内の写真を参考にしてください(^^)

登録テーブル
登録シートの修正

IDカラムのSHOW?をはずし、Key値に設定します。

また、LABEL値はスキルにしておきましょう。

評価テーブル

このシートの設定は少し難しいです。最終的なデータ設計は以下になります。

評価シートの完成形

赤枠の部分はさくっと変更しつつ、青枠の部分の設定について説明していきます(^^)

登録IDのデータタイプ設定

登録IDカラムのTypeをRef、Source tableは登録にします。

登録IDの入力制限

続いて、Valid ifに以下の構文を入力します。

登録[ID] – SELECT(評価[登録ID],[メンバー] = [_THISROW].[メンバー]) + LIST([_THISROW].[登録ID])

この記事内では詳しくは説明しませんが、やっていることとしては

全体のリスト:製品[ID] から、すでに登録したリスト:SELECT(評価[登録ID],[メンバー] = [_THISROW].[メンバー]) を除外する。ただし、自分:LIST([_THISROW].[登録ID]) だけはOK

という表示させるリストの足し引きをしています(^^)

メンバーカラムの設定

メンバーカラムのTypeをRef、Source tableはアプリユーザーにします。

レベルカラムの設定

レベルカラムのTypeをProgress、Valueに以下の値を登録します。

Empty, One Quarter, Half, Three Quarters, Full

データタイプの設定が完了したら、最後にVirtual columnを作成します。

VC作成

VCカラムのTypeをNumber、App formulaに以下の構文を入力します。

IFS([レベル] = “Empty”,0,
[レベル] = “Quarter”,1,
[レベル] = “Half”,2,
[レベル] = “Three Quarter”,3,
[レベル] = “Full”,4)

レベルカラムの登録された値から、それを数値化するための設定です(^^)

実際のProgressのValueの値とは異なる点に注意しましょう!

アプリユーザーテーブル
アプリユーザーテーブルの設定

まずは赤枠の設定をしましょう。次に先ほど作成したスキルポイントを集計するVCを作成します。

スキルポイント累計のVC作成

VCのTypeをNumber、App formulaに以下の構文を入力します。

SUM(SELECT(評価[スキルポイント],[メンバー] = [_THISROW].[email]))

スキルポイントのVCから、メンバーごとの集計をするための設定です(^^)

以上でデータタイプの設定は完了です。お疲れ様でした(^^)


Viewの設定

続いてViewの設定をしていきます。

私が設定した手順を下記にまとめました。

スキル項目を登録するViewを作成する
登録viewの作成

赤枠を参考にして、習得目標とするスキル項目を登録するViewを作成します。

登録したスキル項目を評価するためのViewを作成する
評価Viewの作成

赤枠を参考にして、スキル項目を評価するためのViewを作成します。

評価Viewのオプション

Sort byとGroup byの設定も合わせて行っておきましょう。

アプリユーザーを管理するViewを作成する
アプリユーザーViewの作成

赤枠を参考にして、アプリユーザーを管理するためのViewを作成します。

メンバーの入れ替わりが激しくない場合は、Positionをrefにしておくと良いと思います。

登録メンバーのスキル値を可視化するためのViewを作成する
スキルポイントViewの作成

赤枠を参考にして、ユーザーごとのスキル値を集計するためのViewを作成します。

chart viewの設定

赤枠で囲まれた選択肢をセットします。

スキルを可視化できるダッシュボードを作成する
ダッシュボードviewの作成

これまで作成したViewを一つにまとめます。

view entry

赤枠部分を参考にViewのセットをして、Interactive modeをONにします。

Viewの設定としては以上です。お疲れ様でした(^^)


アプリ動作の確認

アプリ動作の検証

最後にアプリの動作検証を行いたいと思います。

まずスキル項目を登録Viewから行う
スキル項目の登録

メンバーに習得させたいスキル項目を登録Viewから登録していきます。

登録したスキル項目に対してメンバーのレベルを登録する
メンバーの力量を登録

登録IDは先ほど登録Viewで入力した項目が表示されます。

メンバーごとに求められているスキルレベルを登録していきます。

ダッシュボードViewの見え方

基本Viewはこんな感じ(^^)

それぞれのViewから遷移する画面を確認する
detail Viewの説明

評価(Table View)の項目を選択すると、Detail Viewにその情報が表示されます。

アプリユーザーViewの説明

アプリユーザーViewに登録されたメンバーを選択すると、そのメンバーの情報のみ表示されます。

基本的な使い方は以上になります。

一度登録した情報は、Editボタンを押すことで更新(メンバーがスキルアップした時に)することが可能です(^^)


まとめ

以上、ダッシュボードでスキル可視化ツールを作成するための記事でした。

Valid if(入力制限)に入力した、登録[ID] – SELECT(評価[登録ID],[メンバー] = [_THISROW].[メンバー]) + LIST([_THISROW].[登録ID])や、Virtual column(スキルポイント)を付けることによって、使い勝手のいいアプリへと昇華させることが可能です。

AppSheetであまりアプリを作成したことのない人が、作ってみるアプリとしては理解しやすいレベルだと思うので、この記事の内容を参考にしつつ、自身の環境に適したものに変化させてもらえればなって思います(^^)

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

参考記事
]]>
https://www.free-biblio.com/skill-visualization-tool-5975/feed/0
【活用事例】AppSheetで日記アプリを作ってみたhttps://www.free-biblio.com/appsheet-diary-5900/https://www.free-biblio.com/appsheet-diary-5900/#respondSat, 27 Apr 2024 06:00:03 +0000https://www.free-biblio.com/?p=5900

今回はプライベートでも使える日記アプリの作成についてまとめたいと思います。 先日、母親から「御朱印集めすることにした!」と言われたので、せっかくなら神社巡りの思い出をアプリに保存してもらおうと思い作りました(^^) 普段 ... ]]>

本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。

本ブログでは新UI画面で内容をまとめています。

新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)

新UI画面の説明

まずはじめに

本記事はこんな人におすすめ!!
  • プライベートで使える日記アプリを作成したい人
  • データタイプLatLongを使ってみたい人
本記事を読んで出来るようになること
  • 現在地を取得するHERE()関数の便利な使い方がわかる
  • SPLIT()関数とINDEX()関数の組み合わせと使い方がわかる
  • アプリに登録した目的地の天気予報を取得することができる

今回はプライベートでも使える日記アプリの作成についてまとめたいと思います。

先日、母親から「御朱印集めすることにした!」と言われたので、せっかくなら神社巡りの思い出をアプリに保存してもらおうと思い作りました(^^)

普段まとめている「今日から使えるテクニック!!」みたいなものではなく、原点に立ち返って「自分でアプリを作成してみる楽しさ」を思い出してもらえたらなって思います。

ちなみにその時に見せられた写真がこちら↓

御朱印の写真

めちゃくちゃ賑やかです・・笑

この派手な写真に負けないようなTIPSを盛り込んだアプリに仕上げましたので、ぜひ参考にしてもらえたらなって思います(^^)

また、行ってみたかったお店の食べ歩きや行ってみたかった旅行先を記録するアプリとしても使えます笑

それでは勉強していきましょう!


準備するデータについて

まずは、いつものようにアプリを構成するデータテーブルについて説明します。

下図のようなカラム構成で今回はまとめたいと思います。

カラム構成

続いてAppSheetのデータタイプの変更をしていきます。

実際の設定は以下を参考にしてください。

データタイプの設定
データタイプの設定

赤枠のデータタイプに修正します。ここまでは特に難しい設定はありません。

続いて、緯度と経度のカラムの設定を以下のように行います。

緯度カラムのデータタイプ

データタイプをDecimal、Display modeをLabelにします。

Initial valueの設定

Initial valueに以下の構文を入力します。

DECIMAL(INDEX(SPLIT([緯度経度], “,”),1))

3つの関数をそれぞれ説明します。

SPLIT()関数の使い方

SPLIT(text, delimiter)

第一引数にテキスト第二引数にそのテキストを区切る文字を指定

また、SPLIT()関数の返り値はリスト型になります。

今回の場合だと、LatLongのデータは 〇〇.〇〇(緯度) , △△.△△(経度)という形を取るので、,(カンマ)で区切るという設定が可能となります。

INDEX()関数の使い方

INDEX(list, which-one)

第一引数にリスト第二引数にそのリストから取り出したい何番目を指定(リストの一番左が1番目)

使用例) INDEX({“A型”,”B型”,”O型”,”AB型”},2) なら返り値は B型

DECIMAL()関数の使い方

DECIMAL(x)

xは任意の値で、その値が認識可能な場合は同等のdecimal(小数)を返します。

図解で表すと以下のようになります(^^)

構文の解説

経度のInitial valueには、DECIMAL(INDEX(SPLIT([緯度経度], “,”),2))を入力すればOKです。

次にチェックカラムの設定をします。

チェックカラムの設定

ここでは、行った or 行っていない のフラグ管理が出来ればOKです(^^)

TIPSとして、現在地から目的地までの直線距離を取得するカラムを作成したいと思います。

アプリに導入したい人は以下の手順を参考にしてください。

VCで距離カラムを作成する
VC距離の作成
  • App formulaにDISTANCE([緯度経度],HERE())を入力
  • Show?のチェックを外す
  • TypeをDecimalにする
VCで直線距離(km)カラムを作成する
VC直線距離の作成
  • App formulaに[距離]&”km”を入力
  • TypeをTextにする

データタイプの設定は以上です。お疲れ様でした(^^)


アクションボタンの作成

続いてアプリに必要なアクションボタンの作成をしていきます。

私が実装したいアクションボタンは以下の4つです(^^)

  • Googleマップで現在地に戻るボタン
  • 目的地までのルート検索ができるボタン
  • チェックカラムを変更するボタン
  • 目的地の10日間の天気予報を見るボタン

上2つに関しては、データタイプやMap viewを設定するだけで実装ができるので、特に意識しなくて大丈夫です(^^)

まずは簡単なチェックカラムを変更するボタンを作りましょう!

チェックボタンの作成
チェックボタンの新規作成

PositionはInlineでやってみたいと思います(^^)

チェックボタンの設定

Attach to columnはチェックを指定します。

他にできることとして

  • Only if this condition is trueの条件式を入力
  • Format rulesでアクションボタンに色を付ける

あたりかなって思います(^^)

チェックのアクションボタンができたら、次に目的地の天気予報を入手するアクションボタンを作成します。

設定は下図を参考にしてください(^^)

天気予報ボタンの作成
天気予報ボタンの作成

Targetには、以下の構文を入力します。

“https://www.weather.com/ja-JP/weather/tenday/” & ENCODEURL([緯度]) & “,” & ENCODEURL([経度])

このURLは、特定の緯度と経度に対応する場所の10日間の天気予報を表示するためのウェブページへのリンクです。

もう少し具体的に説明すると

“https://www.weather.com/ja-JP/weather/tenday/”

天気予報の10日間表示のベースURLであり、tendayをtodayに変えると本日weekendに変えると週末など検索の対象期間を設定することが可能

ENCODEURL([緯度])とENCODEURL([経度])

特定の場所の緯度および経度をURLエンコードしています。これにより、緯度と経度の座標がURLに挿入される

それぞれのURLを&を用いて繋げて、1つのURLとして成立させています。

&の代わりにCONCATENATE()関数を使ってももちろん可能です(^^)

アクションボタンの設定は以上です。お疲れ様でした(^^)


Viewを整える

大事なアプリの画面設定をしていきます。

と言っても、特に難しい設定はありませんので下図を参考に編集をしてみてください。

今回はCard ViewとMap Viewを作ってみたいと思います(^^)

Card Viewの設定
card viewの設定

まずはLayoutからlargeを選択します。

私の設定では、赤枠の部分には何も情報を入れないほうがすっきりとした見栄えになったので、今回は使わずにいきたいと思います(^^)

下図のようにそれぞれ該当する箇所をクリックして、セットするカラムを選択していってください。

カラムのセット1
カラムのセット2

すべての設定が問題なくできていると、下図のようなViewになります(^^)

完成したcard view
Map Viewの設定
map viewの設定

Map Viewの設定は以上です。

その他のViewとして、新規作成のためのForm Viewは合ったほうがいいかもしれません。

このあたりはアプリ開発者の好みです(^^)

Format Ruleの設定

アプリの視認性を高めるために、ちょっとしたフォーマットルールを追加したいと思います。

別になくても構わない設定なので、不要な人は飛ばしていただいても結構です。

私が試しに設定してみたものは、以下の6つです(^^)

チェックボタンを緑にする
登録地へ戻るを赤にする
行ったことがある目的地を緑にする
行ったことがあるところの印を変える
天気予報ボタンを青にする
目的地を太字にする

アプリ動作の確認

アプリ動作の検証

最後に作成したアプリの動作検証を行いたいと思います。

このアプリはモバイル(スマホ)を意識して作成しているので、そのViewで確認するのがいいです(^^)

行ってみたい場所 or 行ったことのある場所を登録する
新規登録View

赤矢印の項目を登録していきます。

今回は一度行ったことがある、チェック=完了 で検証をしてみます(^^)

アプリに登録されている登録地をタップする
登録データの確認

登録したデータをタップすることで、Map Viewに画面が遷移します。

作成したアクションボタンの動作確認
登録座標へ移動

アプリのGマップを移動させたあと、最初の登録座標に戻したい場合は赤のマップアイコンをタップします。

天気予報の取得

天気予報をタップすることで、外部サイトから登録地点の天気予報が取得できます。

ルート検索

車のアイコン(AppSheetが自動で作成するアクションボタン)をタップすると、Googleマップのルート検索ができる


まとめ

以上、プライベートでも使える日記アプリについての記事でした。

AppSheetが求めているカラムを用意すると完成度の高いアプリが作れますので、こういうアプリから勉強してもらえると楽しく学べていいかなって思います(^^)

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

参考記事
]]>
https://www.free-biblio.com/appsheet-diary-5900/feed/0