コーディング レベル: 中級
所要時間: 30 分
プロジェクトの種類: Google Workspace アドオン
目標
- ソリューションの機能を理解します。
- Apps Script サービスがソリューション内でどのように機能するかを理解します。
- 環境を設定します。
- スクリプトを設定します。
- スクリプトを実行します。
このソリューションについて
あるスプレッドシートから別のスプレッドシートに Google スプレッドシートのマクロを手動でコピーするのは、時間がかかり、エラーも発生しやすい作業です。この Google Workspace アドオンは、スクリプト プロジェクトを自動的にコピーし、ユーザー指定のスプレッドシートに添付します。このソリューションではスプレッドシートのマクロに焦点を当てていますが、コンテナにバインドされたスクリプトをコピーして共有できます。
仕組み
このスクリプトは、元のスプレッドシートにバインドされている Apps Script プロジェクトをコピーし、ユーザー指定のスプレッドシートにバインドされた重複する Apps Script プロジェクトを作成します。
Apps Script サービス
このソリューションでは、次のサービスを使用します。
- URL 取得サービス - Apps Script API に接続して、ソース プロジェクトをコピーしてコピーを作成します。
- スクリプト サービス - Apps Script API を承認して、2 回目の承認プロンプトが表示されないようにします。
- スプレッドシート サービス - 対象のスプレッドシートを開いて、コピーした Apps Script プロジェクトを追加します。
- カードサービス - アドオンのユーザー インターフェースを作成します。
前提条件
このサンプルを使用するには、次の前提条件を満たす必要があります。
- Google アカウント(Google Workspace アカウントの場合、管理者の承認が必要になる場合があります)。
インターネットにアクセスできるウェブブラウザ。
Apps Script ダッシュボードの設定で Google Apps Script API が有効になっている。
環境を設定する
Google Cloud コンソールで Cloud プロジェクトを開く
まだ開いていない場合は、このサンプルで使用する Cloud プロジェクトを開きます。
- Google Cloud コンソールで [プロジェクトの選択] ページに移動します。
- 使用する Google Cloud プロジェクトを選択します。または、[プロジェクトを作成] をクリックし、画面の指示に従います。Google Cloud プロジェクトを作成する場合は、プロジェクトの課金を有効にすることが必要な場合があります。
Google Apps Script API を有効にする
このクイックスタートでは、Google Apps Script API を使用します。
Google API を使用する前に、Google Cloud プロジェクトで API を有効にする必要があります。1 つの Google Cloud プロジェクトで 1 つ以上の API を有効にできます。Cloud プロジェクトで、Google Apps Script API を有効にします。
OAuth 同意画面を構成する
Google Workspace アドオンには、同意画面の構成が必要です。アドオンの OAuth 同意画面を構成すると、Google がユーザーに表示する内容が決まります。
- Google Cloud コンソールで、メニュー > [API とサービス] > [OAuth 同意画面] に移動します。
- [ユーザーの種類] で [内部] を選択し、[作成] をクリックします。
- アプリ登録フォームに入力し、[保存して次へ] をクリックします。
現時点では、スコープの追加をスキップして、[Save and Continue] をクリックします。今後、Google Workspace 組織外で使用するアプリを作成する場合は、[ユーザータイプ] を [外部] に変更してから、アプリに必要な認証スコープを追加する必要があります。
- アプリ登録の概要を確認します。変更するには、[編集] をクリックします。アプリ登録に問題がない場合は、[Back to Dashboard] をクリックします。
スクリプトを設定する
Apps Script プロジェクトを作成する
- 次のボタンをクリックして、[マクロを共有] の Apps Script プロジェクトを開きます。
プロジェクトを開く - [概要] をクリックします。
- 概要ページで、コピーを作成 をクリックします。
Cloud プロジェクト番号をコピーする
- Google Cloud コンソールで、メニュー > [IAM と管理] > [設定] に移動します。
- [プロジェクト番号] フィールドで、値をコピーします。
Apps Script プロジェクトの Cloud プロジェクトを設定する
- コピーした Apps Script プロジェクトで、[プロジェクトの設定] をクリックします。
- [Google Cloud Platform(GCP)プロジェクト] で、[プロジェクトを変更] をクリックします。
- [GCP のプロジェクト番号] に、Google Cloud のプロジェクト番号を貼り付けます。
- [プロジェクトを設定] をクリックします。
テストデプロイをインストールする
- コピーした Apps Script プロジェクトで、エディタ アイコン をクリックします。
UI.gs
ファイルを開き、[Run] をクリックします。プロンプトが表示されたら、スクリプトを承認します。- [デプロイ] > [デプロイをテスト] をクリックします。
- [インストール] > [完了] をクリックします。
マクロ スクリプトとスプレッドシートの情報を取得する
- マクロが含まれ、編集権限があるスプレッドシートのスプレッドシートを開きます。サンプル スプレッドシートを使用するには、サンプル マクロのスプレッドシートのコピーを作成します。
- [拡張機能] > [Apps Script] をクリックします。
- Apps Script プロジェクトで、[プロジェクトの設定] をクリックします。
- スクリプト ID の下にある [コピー] をクリックします。
- スクリプト ID は、後のステップで使用するために確保しておきます。
- マクロを追加するスプレッドシートを開くか、新しいスプレッドシートを作成します。スプレッドシートの編集権限が必要です。
- スプレッドシートの URL をコピーし、後のステップで使用できるように確保しておきます。
スクリプトを実行する
ダッシュボード設定で Google Apps Script API がオンになっていることを確認します。次のセクションの手順に沿って、スクリプトを実行します。
マクロをコピーします。
- スプレッドシートの右側のサイドバーで、マクロを共有アドオン を開きます。
- [ソースマクロ] に、スクリプト ID を貼り付けます。
- [対象のスプレッドシート] に、スプレッドシートの URL を貼り付けます。
- [マクロを共有] をクリックします。
- [アクセスを承認] をクリックしてアドオンを承認します。
- ステップ 2 ~ 4 を繰り返します。
コピーしたマクロを開く
- マクロをコピーしたスプレッドシートを開きます(開いていない場合)。
- [拡張機能] > [Apps Script] をクリックします。
- コピーされた Apps Script プロジェクトが表示されない場合は、ダッシュボードの設定で Google Apps Script API が有効になっていることを確認し、「マクロをコピーする」に記載されている手順を繰り返します。
コードを確認する
このソリューションの Apps Script コードを確認するには、下の [ソースコードを表示] をクリックします。
ソースコードを表示
Code.gs
UI.gs
appsscript.json
協力者
このサンプルは、Google Developer Experts の協力により Google が保守しています。