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