コーディングレベル: 中級
所要時間: 30 分
プロジェクトの種類: Google Workspace アドオン
目標
- ソリューションの機能について理解する。
- ソリューション内での Apps Script サービスの役割を理解する。
- 環境を設定します。
- スクリプトを設定します。
- スクリプトを実行します。
このソリューションについて
Google スプレッドシートのマクロをスプレッドシート間で手動でコピーするのは時間がかかり、エラーが発生しやすくなります。この Google Workspace アドオンは、スクリプト プロジェクトを自動的にコピーし、ユーザー指定のスプレッドシートに添付します。このソリューションはスプレッドシートのマクロに重点を置いていますが、コンテナにバインドされたスクリプトをコピーして共有することもできます。
仕組み
このスクリプトは、元のスプレッドシートにバインドされている Apps Script プロジェクトをコピーし、ユーザー指定のスプレッドシートにバインドされた重複する Apps Script プロジェクトを作成します。
Apps Script サービス
このソリューションでは、次のサービスを使用します。
- URL 取得サービス - Apps Script API に接続してソース プロジェクトをコピーし、コピーを作成します。
- スクリプト サービス - 2 回目の承認プロンプトを回避するために、Apps Script API を承認します。
- スプレッドシート サービス - コピーした 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 コンソールで、メニュー > > [ブランディング] に移動します。
- をすでに設定している場合は、[ブランディング]、[オーディエンス]、[データアクセス] で次の OAuth 同意画面の設定を構成できます。[ まだ設定されていません] というメッセージが表示された場合は、[使ってみる] をクリックします。
- [アプリ情報] の [アプリ名] に、アプリの名前を入力します。
- [ユーザー サポートメール] で、ユーザーが同意について問い合わせる際に使用するサポートのメールアドレスを選択します。
- [続行] をクリックします。
- [視聴者] で [内部] を選択します。
- [続行] をクリックします。
- [連絡先情報] で、プロジェクトの変更に関する通知を受け取るメールアドレスを入力します。
- [続行] をクリックします。
- [完了] で Google API サービスのユーザーデータに関するポリシーを確認し、同意する場合は [Google API サービス: ユーザーデータに関するポリシーに同意します] を選択します。
- [続行] をクリックします。
- [作成] をクリックします。
- 現時点では、スコープの追加はスキップできます。 今後、Google Workspace 組織の外部で使用するアプリを作成する場合は、[ユーザータイプ] を [外部] に変更する必要があります。次に、アプリに必要な認可スコープを追加します。詳細については、OAuth 同意画面を構成するガイドをご覧ください。
スクリプトを設定する
Apps Script プロジェクトを作成する
- 次のボタンをクリックして、マクロを共有する Apps Script プロジェクトを開きます。
プロジェクトを開く - [概要] をクリックします。
- 概要ページで、[コピーを作成]
をクリックします。
Cloud プロジェクト番号をコピーする
- Google Cloud コンソールで、メニュー > [IAM と管理] > [設定] に移動します。
- [プロジェクト番号] フィールドで値をコピーします。
Apps Script プロジェクトの Cloud プロジェクトを設定する
- コピーした Apps Script プロジェクトで、[プロジェクトの設定]
をクリックします。
- [Google Cloud Platform(GCP)プロジェクト] で、[プロジェクトを変更] をクリックします。
- [GCP プロジェクト番号] に、Google Cloud プロジェクト番号を貼り付けます。
- [プロジェクトを設定] をクリックします。
テスト用デプロイメントをインストールする
- コピーした Apps Script プロジェクトで、[エディタ] をクリックします。
UI.gs
ファイルを開き、[実行] をクリックします。メッセージが表示されたら、スクリプトを承認します。- [Deploy] > [Test deployments] をクリックします。
- [インストール] > [完了] をクリックします。
マクロ スクリプトとスプレッドシートの情報を取得する
- マクロが含まれており、編集権限があるスプレッドシートを開きます。サンプル スプレッドシートを使用するには、サンプル マクロスプレッドシートのコピーを作成します。
- [拡張機能] > [Apps Script] をクリックします。
- Apps Script プロジェクトで、[プロジェクト設定]
をクリックします。
- スクリプト ID の下にある [コピー] をクリックします。
- スクリプト ID をメモしておきます。この ID は、後の手順で使用します。
- マクロを追加するスプレッドシートを開くか、新しいスプレッドシートを作成します。スプレッドシートを編集する権限が必要です。
- スプレッドシートの URL をコピーして、後で使用できるように保管しておきます。
スクリプトを実行する
ダッシュボードの設定で、Google Apps Script API がオンになっていることを確認します。以降のセクションの手順に沿ってスクリプトを実行します。
マクロをコピーする
- スプレッドシートの右側のサイドバーで、[マクロを共有] アドオン
を開きます。
- [ソース マクロ] にスクリプト ID を貼り付けます。
- [ターゲット スプレッドシート] に、スプレッドシートの URL を貼り付けます。
- [マクロを共有] をクリックします。
- [アクセスを承認] をクリックして、アドオンを承認します。
- 手順 2 ~ 4 を繰り返します。
コピーしたマクロを開く
- マクロをコピーしたスプレッドシートがまだ開いていない場合は、開きます。
- [拡張機能] > [Apps Script] をクリックします。
- コピーした Apps Script プロジェクトが表示されない場合は、ダッシュボードの設定で Google Apps Script API がオンになっていることを確認してから、マクロをコピーするの手順を繰り返します。
コードを確認する
このソリューションの Apps Script コードを確認するには、下の [ソースコードを表示] をクリックします。
ソースコードを表示
コード.gs
UI.gs
appsscript.json
寄与者
このサンプルは、Google デベロッパー エキスパートの協力を得て Google によって管理されています。