コーディング レベル: 初級
所要時間: 10 分
プロジェクト タイプ: カスタム関数とカスタム メニューを使用した自動化
目標
- ソリューションの機能を理解します。
- ソリューション内で Apps Script サービスが何を行うかを理解します。
- スクリプトを設定します。
- スクリプトを実行します。
このソリューションについて
カスタム関数を使用すると、2 つの地点間の運転距離を計算し、距離をメートルからマイルに変換できます。追加の自動化により、新しいシートに開始住所から終了住所までの詳細なルートを追加できるカスタム メニューが提供されます。
仕組み
このスクリプトでは、2 つのカスタム関数と 1 つの自動化を使用します。
drivingDistance(origin, destination)
関数は、Maps Service を使用して 2 つの地点間の運転ルートを計算し、2 つの住所間の距離をメートル単位で返します。metersToMiles(meters)
関数は、指定されたメートル数に相当するマイル数を計算します。- 自動化により、運転ルートを計算する開始アドレスと終了アドレスの行を入力するよう求めるメッセージがユーザーに表示され、新しいシートに運転ルートの手順が追加されます。
Apps Script サービス
このソリューションでは、次のサービスを使用します。
- スプレッドシート サービス - カスタム メニューを追加し、このソリューションをテストするためのデモデータを追加し、スクリプトがルートを追加したときに新しいシートの形式を設定します。
- ベースサービス -
Browser
クラスを使用して、ユーザーにルートの行番号の入力を求め、エラーが発生した場合はユーザーにアラートを表示します。 - ユーティリティ サービス - テンプレート文字列をユーザー指定の情報で更新します。
- マップ サービス - 開始住所から終了住所までの Google マップのルートを順を追って取得します。
前提条件
このサンプルを使用するには、次の前提条件を満たしている必要があります。
- Google アカウント(Google Workspace アカウントの場合、管理者の承認が必要となる可能性があります)。
- インターネットにアクセスできるウェブブラウザ。
スクリプトを設定する
- 運転距離を計算してメートルをマイルに変換するスプレッドシートのコピーを作成します。このソリューションの Apps Script プロジェクトは、スプレッドシートに添付されています。
コピーを作成 - シートにヘッダーとデモデータを追加するには、[手順] > [シートを準備] をクリックします。このカスタム メニューを表示するには、ページの更新が必要になる場合があります。
メッセージが表示されたら、スクリプトを承認します。OAuth 同意画面に「このアプリは確認されていません」という警告が表示された場合は、[詳細] > [{プロジェクト名} に移動(安全でない)] を選択して続行します。
[Directions] > [Prepare sheet] をもう一度クリックします。
スクリプトを実行する
- セル
C2
に数式=DRIVINGDISTANCE(A2,B2)
を入力し、Enter キーを押します。小数点にカンマを使用する地域では、代わりに=DRIVINGDISTANCE(A2;B2)
を入力する必要がある場合があります。 - セル
D2
に数式=METERSTOMILES(C2)
を入力し、Enter キーを押します。 - (省略可)開始アドレスと終了アドレスの行を追加し、列
C
とD
の数式をコピーして、さまざまな場所間の運転距離を計算します。 - [手順] > [手順を生成] をクリックします。
- ダイアログで、ルートを生成する住所の行番号を入力し、[OK] をクリックします。
- スクリプトで作成された新しいシートで、ルートを確認します。
コードを確認する
このソリューションの Apps Script コードを確認するには、以下の [ソースコードを表示] をクリックします。
ソースコードを表示
コード.gs
寄稿者
このサンプルは、Google デベロッパー エキスパートの協力を得て Google が管理しています。