Guide
複数のスクリプトを追加して使用する際のガイド
KOKOCAL SCRIPTで生成した複数のApps Scriptを、同じGoogleスプレッドシートやGoogleスライドのプロジェクトへ追加するときの確認ガイドです。 ファイル名、関数名、メニュー、トリガーを整理して、意図しない上書きや重複実行を防ぎます。
貼り付け前にバックアップを作り、既存処理を壊さない状態で追加します。
関数名、メニュー名、トリガーの重複を確認してから運用します。
複数を一度に導入せず、1つずつ動作確認してから次のスクリプトを追加します。
基本方針
複数のスクリプトを同じApps Scriptプロジェクトで使うこと自体は可能です。ただし、同じ関数名や同じトリガーがあると、 片方の処理が上書きされたり、同じ処理が複数回実行されたりする場合があります。
安全に使うためには、1つ追加するたびに保存、承認、再読み込み、動作確認を行い、問題がないことを確認してから次のスクリプトを追加します。
onOpenを統合する例
function onOpen(e) {
KOKOCAL_IncrementalSync_onOpen(e);
KOKOCAL_DuplicateFinder_onOpen(e);
KOKOCAL_PhoneFormatter_onOpen(e);
}生成コードに含まれる通常のonOpenは単体利用向けです。複数追加する場合は、onOpen本体を1つにまとめ、必要なKOKOCAL_..._onOpen(e)だけを並べます。
複数スクリプトを追加するときの手順
- 1
追加前に既存コードを退避する
既存のCode.gsやHTMLファイルをコピーし、元に戻せる状態を作ってから追加作業を始めます。業務ファイルでは、可能であればファイル自体のバックアップも作成してください。
- 2
プロジェクト名とファイル名を整理する
複数のスクリプトを入れる場合は、Apps Scriptプロジェクト名、Code.gs以外のファイル名、HTMLファイル名を分かる名前にしておくと管理しやすくなります。
- 3
関数名の重複を確認する
同じプロジェクト内に同名の関数があると、後から貼り付けた関数で上書きされたり、意図しない処理が実行されたりする可能性があります。
- 4
onOpenなどの共通関数を統合する
KOKOCAL SCRIPTの生成コードには、メニュー作成用の固有関数が用意されています。既存のonOpenがある場合は、onOpenを増やさず、既存のonOpen内へ固有関数の呼び出しだけを追加します。
- 5
メニュー名とメニュー項目を確認する
複数のカスタムメニューを追加すると、上部メニューが増えて分かりづらくなる場合があります。用途ごとにメニュー名を分けるか、1つのメニューへ整理します。
- 6
トリガーを重複登録しない
初期設定関数を何度も実行すると、同じ時間主導型トリガーやインストール型トリガーが重複することがあります。トリガー一覧で不要なものがないか確認します。
追加前後の確認項目
ファイル名
Code.gsだけでなく、HTMLファイル名や補助ファイル名が導入手順と一致しているか確認します。
関数名
setup系、run系、onOpen系など、同じ名前の関数が既存コードにないか確認します。生成コード内のKOKOCAL_から始まる関数は、複数利用時の呼び出し用です。
メニュー
GoogleスプレッドシートやGoogleスライドの上部メニューに、意図した名称で表示されるか確認します。
トリガー
Apps Scriptのトリガー画面で、同じ処理が重複登録されていないか確認します。
権限
複数スクリプトを追加すると承認範囲が増えることがあります。承認画面の内容を確認してから許可します。
動作確認
本番データで使う前に、コピーしたファイルや少量データで各メニューを個別に確認します。
注意事項
onOpenは特に重複しやすいです
複数のスクリプトにonOpenが含まれる場合、onOpenは1つだけ残し、その中からKOKOCAL_..._onOpen(e)形式の固有関数を呼び出す構成に整理します。
インストール型トリガーは固有関数名を使います
差分同期のフォーム送信・編集検知などは、setupSyncSystemがKOKOCAL_から始まる固有関数名でトリガーを登録します。手動で同名トリガーを追加しないでください。
HTMLファイル名は大文字・小文字も確認します
Apps ScriptのHTMLファイル名は、コード側のcreateHtmlOutputFromFileで指定している名前と一致している必要があります。
権限承認は内容を確認してから行います
スクリプトを追加すると、スプレッドシート、スライド、トリガーなどへのアクセス権限が求められる場合があります。内容を確認してから許可してください。