今回は、Google Apps Script(GAS)を使ったチェックボックスの判定方法や、チェックボックスを元のしたスクリプトの実行方法についてご紹介します。
チェックボックスのチェック判定
チェックボックスの作成
まず、スプレッドシートに下記のようなチェックボックスを用意します。
ちなみにチェックボックスは、スプレッドシート上部のメニューにある、
「挿入」⇒「チェックボックス」
を選択すると、選択中のセルにチェックボックスが作成されます。
スクリプトの作成
次に、スクリプトエディタに下記サンプル1のスクリプトを作成します。
・サンプル1
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); //アクティブなスプレッドシートを取得 var flag = rng.getValue(); //アクティブセルのチェックボックスの値を取得 if(rng.getColumn() == 1 && flag == true){ //アクティブセルがA列で、チェックボックスにチェックを入れた(true)の場合 Browser.msgBox(“A列にチェック!”); } else if (rng.getColumn() == 1 && flag == false) {//アクティブセルがA列で、チェックボックスからチェックを外した(false)の場合 Browser.msgBox(“A列のチェックを解除”); |
それではサンプル1についてですが、
var ss = SpreadsheetApp.getActiveSpreadsheet();
でアクティブなスプレッドシートを取得し、
var rng = ss.getActiveCell();
でアクティブセルを取得します。
var flag = rng.getValue();
は、アクティブセルのチェックボックスの値を取得するためのスクリプトです。
if(rng.getColumn() == 1 && flag == true){
Browser.msgBox(“A列にチェック!”);
は、アクティブセルがA列で、チェックボックスがチェックが入った場合(true)の場合の条件分岐です。
つまり、A列に存在するチェックボックスにチェックを入れた場合、メッセージボックスに「A列にチェック!」と表示される処理になります。
} else if (rng.getColumn() == 1 && flag == false) {
Browser.msgBox(“A列のチェックを解除”);
は逆に、アクティブセルがA列で、チェックボックスからチェックを外した場合(false)場合の条件分岐です。
つまり、A列に存在するチェックボックスからチェックが外れた場合、メッセージボックスに「A列のチェックを解除」と表示される処理になります。
トリガーの設定
次にトリガーの設定ですが、
実行する関数に、実行したい関数(今回の例では「myFunction」)
イベントのソースを選択を「スプレッドシートから」
イベントの種類を選択を「編集時」
を設定し、「保存」をクリックします。
トリガーを設定後、A列のチェックボックスにチェックを入れると、「A列にチェック!」と表示されます。
またA列のチェックボックスのチェックを外すと、「A列のチェックを解除」と表示されます。
尚、このスクリプトの場合、B列やC列のチェックボックスを操作しても何も起こりません。
チェックボックスを生成するには
Google Apps Script(GAS)を使ってチェックボックスを生成したい方は、下記の記事などを参照下さい。