1

私の質問は次のとおりです。Googleスプレッドシートのセルに入力を開始すると、入力した文字を(テキストのどこかに)含むカスタムリストに属するフィールドがドロップダウンリストに表示されるようにする方法についてのチュートリアルはありますか。

私はJavascriptをあまり知らないので、似たようなものを見つけることができる本や参考文献があれば、それは本当にありがたいです。

4

1 に答える 1

1

私は新しいので、ユーザーが (セルに) 入力を開始した内容に基づいて、有効な値を選択できるようにする方法を知りません。

これはスクリプト内では実行できないことを知っています。すべてのスクリプトは、ユーザーが (セルに対して) すべての変更を行った後に実行されます。

定義された範囲を使用したドロップダウン検証リストについては、既にご存知かもしれません。このプロセスにより、ボックスの右端に隣接して小さな下矢印が表示されます。これにより、ユーザーは事前定義されたリストから選択できます。エンド ユーザーが無効な値を入力するのを防ぐことはできません。リスト内のエントリのいずれかと一致しない場合、値が無効であるとマークするだけです。下向き矢印を押すと、有効な値のリストが表示されます。ユーザーは、リスト内のエントリをクリックして選択できます。

ドキュメントからこの検証について学びました。それが必要な場合は、ここで終了できます。


この検証方法の興味深い点は次のとおりです。

  1. リストを定義して名前を付けることができます。無効なエラー メッセージには名前が含まれます。名前を使用して、検証エラーのタイプを示すことができます。

  2. リストは、参照されている以外の別のシートに含めることができます。リストを含むシートは非表示にすることができます。

  3. 一番下の行ではないリスト領域に行を追加すると (下に挿入)、スプレッドシート エンジンは定義された範囲のサイズを自動的に調整します。リストに入力された新しい値は、更新されたドロップダウン リストに表示されます (範囲定義に表示される順序で)。

私がテストしていないのは、スクリプトからリストを展開することです。変更がスクリプトによるものである場合、スプレッドシート エンジンが同じ範囲変更を実行するかどうかはわかりません。そうなることを願っています。

また、スクリプトから非表示のシートに変更を加えた場合、非表示のシートは非表示のままになります。スクリプトから「シートのコピー」機能を実行すると、ソース シートが一時的に現在のシートになり、非表示にならなくなります。

お役に立てれば。

于 2012-06-22T23:30:34.603 に答える