ホームページ  >  記事  >  ウェブフロントエンド  >  単一の Google スプレッドシート スクリプトで複数の onEdit 関数を組み合わせるにはどうすればよいですか?

単一の Google スプレッドシート スクリプトで複数の onEdit 関数を組み合わせるにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-31 21:34:29881ブラウズ

How can I combine multiple onEdit functions in a single Google Sheets script?

複数の onEdit 関数のマージ

Google スプレッドシート スクリプトを作成する場合、さまざまな編集イベントを処理するために複数の onEdit 関数が必要になる場合があります。ただし、1 つのスクリプトに同じ名前の 2 つの関数を含めることはできません。この競合を解決するには、次のアプローチを検討してください。

2 つの onEdit 関数のマージ

function onEdit(e) {
  onEdit1(e);
  onEdit2(e);
}

このマージされた関数では、

  • onEdit1(e) が元の関数を置き換えます。 onEdit 関数。
  • onEdit2(e) は、onEdit 内の別の関数になります。 Wrapper.

このアプローチにより、スプレッドシートで編集が行われるたびに両方の関数が確実に実行されます。ただし、条件付きステートメントを使用して、それぞれの関数に設定された条件に基づいて特定のアクションを実行することはできます。

次の例を考えてみましょう。ここでは、1 つの関数が依存するドロップダウン リスト (onEdit1) を管理し、もう 1 つは、チェックボックスの選択に基づいて行を追加します (onEdit2):

function onEdit(e) {
  if (e.range.columnStart === 4 && e.range.getValue() === true) {
    onEdit2(e);
  } else {
    onEdit1(e);
  }
}

function onEdit1(e) {
  // Dependent Dropdown List functionality
}

function onEdit2(e) {
  // Add row by checkbox functionality
}

このスクリプトでは、マージされた onEdit 関数は次のことをチェックします。編集は列 4 で true 値 (チェックボックスがオン) で行われます。そうであれば、onEdit2 関数を呼び出します。それ以外の場合は、onEdit1 関数を呼び出します。

追加リソース

詳細については、次のリソースを参照してください。

  • [2 つの OnEdit 関数が機能しないTogether](https://productforums.google.com/d/msg/docs/5uekCS3jX-c/qzr4GyqvBAAJ)
  • [複数の OnEdit のベスト プラクティス関数](https://webapps.stackexchange.com/questions/101525/best-practices-for-multiple-onedits-functions)
  • [同じ Google で複数の onEdit 関数を実行する方法スクリプト](https://stackoverflow.com/questions/44046454/how-to-run-multiple-onedits-functions-in-the-same-google-script-google-sheets)

以上が単一の Google スプレッドシート スクリプトで複数の onEdit 関数を組み合わせるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。