スクリプト プロジェクトは Google Apps Script のファイルとリソースのコレクションを表し、単に「スクリプト」と呼ばれることもあります。スクリプト プロジェクトには 1 つ以上のスクリプト ファイルがあり、コードファイル(拡張子は .gs
)または HTML ファイル(拡張子は .html
)のいずれかです。また、HTML ファイルに JavaScript と CSS を含めることもできます。
スクリプト エディタで開かれるプロジェクトは常に 1 つのみです。複数のブラウザ ウィンドウまたはタブで複数のプロジェクトを開くことができます。
プロジェクトの作成と削除
このセクションでは、スタンドアロンまたはコンテナバインドの Apps Script プロジェクトを作成および削除する方法について説明します。
スタンドアロン プロジェクトを作成する
Apps Script からスタンドアロン プロジェクトを作成するには:
script.google.com
にアクセスします。- [ 新しいプロジェクト] をクリックします。
- スクリプト エディタで、[無題のプロジェクト] をクリックします。
- プロジェクトに名前を付けて、[名前を変更する] をクリックします。
Google ドライブからスタンドアロン プロジェクトを作成する
- Google ドライブを開きます。
- [新規] > [その他] > [Google Apps Script] をクリックします。
Google ドキュメント、スプレッドシート、スライドからコンテナバインドされたプロジェクトを作成する
- Google ドキュメント、スプレッドシート、スライドのプレゼンテーションのいずれかを開きます。
- [拡張機能] > [Google Apps Script] をクリックします。
- スクリプト エディタで、[無題のプロジェクト] をクリックします。
- プロジェクトに名前を付けて、[名前を変更する] をクリックします。
Google フォームからコンテナバインドされたプロジェクトを作成する
- Google フォームでフォームを開きます。
- その他アイコン > [スクリプト エディタ] をクリックします。
- スクリプト エディタで、[無題のプロジェクト] をクリックします。
- プロジェクトに名前を付けて、[名前を変更する] をクリックします。
clasp
コマンドライン ツールを使用してスタンドアロン プロジェクトを作成する
clasp
は、ターミナルから Apps Script プロジェクトの作成、pull/push、デプロイを行えるコマンドライン ツールです。
詳細については、clasp
を使用したコマンドライン インターフェースのガイドをご覧ください。
コンテナバインドされたプロジェクトを削除する
- 上記の適切な方法で、コンテナバインドされたプロジェクトを開きます。
- 左上の [概要] をクリックします。
- 右上の削除アイコン > [完全に削除] をクリックします。
スタンドアロン プロジェクトを削除する
script.google.com
にアクセスします。- 削除するプロジェクトの右側にあるその他アイコン > [削除] > [削除] をクリックします。
プロジェクト内のファイルを管理する
ファイルを作成する
- Apps Script プロジェクトを開きます。
- 左側にある [エディタ] > [ を追加] をクリックします。
- 作成するファイルの種類を選択し、名前を付けます。
ファイルの削除
- Apps Script プロジェクトを開きます。
- 左側の [エディタ] をクリックします。
- 削除するファイルの横にあるその他アイコン > [削除] をクリックします。
Apps Script プロジェクトからファイルをエクスポートする
Apps Script からコードファイルを取り出すには、各ファイルからコードをコピーして任意のテキスト エディタに貼り付けるか、コマンドラインで clasp を使用します。clasp を使用するには、スクリプト プロジェクトをダウンロードするをご覧ください。
プロジェクトのタイムゾーンを設定する
Apps Script プロジェクトのタイムゾーンを設定できます。スクリプトによって実行される関数は、このタイムゾーンを使用します。
- Apps Script プロジェクトを開きます。
- 左側にある [プロジェクトの設定] をクリックします。
- [タイムゾーン] セクションで、使用するタイムゾーンを選択します。
特定の関数でスクリプト プロジェクトとは異なるタイムゾーンを使用する場合は、関数にタイムゾーンを明示的に入力します。たとえば、以下のサンプルでは、各関数によって Google カレンダーに新しい予定が作成されます。最初の関数では、デフォルトでプロジェクトのタイムゾーンが使用されます。2 番目の関数では太平洋時間のタイムゾーンを指定しているため、プロジェクトのタイムゾーンに関係なく、太平洋時間でイベントがスケジュールされます。
function createEvent(){
// Creates an event in the script project's time zone and logs the ID
var event = CalendarApp.getDefaultCalendar().createEvent('New test event',
new Date('December 20, 2022 17:00:00'),
new Date('December 20, 2022 18:00:00'));
console.log('Event ID: ' + event.getId());
}
function createEventPacific(){
// Creates an event with a specified time zone and logs the event ID.
var event = CalendarApp.getDefaultCalendar().createEvent('New sample event',
new Date('December 20, 2022 17:00:00 PDT'),
new Date('December 20, 2022 18:00:00 PDT'));
console.log('Event ID: ' + event.getId());
}
複数の Google アカウントに関する問題を解決する
複数の Google アカウントに同時にログインすると、アドオンやウェブアプリへのアクセスに問題が発生することがあります。マルチログイン、つまり一度に複数の Google アカウントにログインすることは、Apps Script、アドオン、ウェブアプリではサポートされていません。
複数のアカウントにログインしている間に Apps Script エディタを開いた場合は、使用するアカウントの選択を求められます。
ウェブアプリやアドオンを開いたときにマルチログインの問題が発生する場合は、次のいずれかの解決策をお試しください。
- すべての Google アカウントからログアウトし、アクセスしたいアドオンまたはウェブアプリがあるアカウントにのみログインします。
- Google Chrome でシークレット ウィンドウまたは同等のシークレット ブラウジング ウィンドウを開き、アクセスするアドオンまたはウェブアプリがある Google アカウントにログインします。