GASでスプレッドシートに検証がオン状態のチェックボックスを挿入するには「insertCheckboxes(checkedValue)
」を利用する。
insertCheckboxes(checkedValue)
オンにしたカスタム値と、チェックマークを外した空の文字列で構成された、範囲内の各セルにチェックボックスを挿入します。範囲内の各セルの値を空の文字列に設定します。
https://developers.google.com/apps-script/reference/spreadsheet/range#insertcheckboxescheckedvalue
スプレッドシートに検証がオン状態のチェックボックスを挿入するGAS実行の様子
insertCheckboxes(checkedValue)メソッドを利用して、スプレッドシートに検証がオン状態のチェックボックスを挿入するGASを実行してみました。
insertCheckboxes(checkedValue)を実行することで、検証データがオン状態になっているチェックボックスが挿入されます。
ただ、insertCheckboxes()メソッドを利用した場合と見た目は変わりません。
スプレッドシートにチェックボックスを挿入する場合は、以下記事を御覧ください。
参照記事:【GAS】スプレッドシートにチェックボックスを挿入する
スプレッドシートに検証がオン状態のチェックボックスを挿入するGAS
function insertCheckboxes02(){
//SpreadsheetAppを起動
let ss = SpreadsheetApp.getActiveSpreadsheet();
//0番目のシートを選択
let sht = ss.getSheets()[0];
//シート全体をクリア
sht.clearContents();
//YESNOで作業開始確認
const yesno = Browser.msgBox("データ検証オンのチェックボックスを挿入しますか?",Browser.Buttons.YES_NO_CANCEL);
if(yesno == "yes") {
for(var i=1;i<=10;i++){
const text = [
["Spreadsheet","Blue",i]
];
sht.getRange(i,1,1,3).setValues(text);
}
const lastrw = sht.getLastRow();
const lastcl = sht.getLastColumn();
//1行目・最終列+1セルと、最終行+最終列+1セルを各A1形式で取得
const startcell = sht.getRange(1,lastcl+1).getA1Notation();
const endcell = sht.getRange(lastrw,lastcl+1).getA1Notation();
//■insertCheckboxesメソッドで指定範囲にチェックボックスを挿入
sht.getRange(startcell+":"+endcell).insertCheckboxes('YES');
//見出しテキストを作成
const midashi = [
["項目","備考","No","check"]
];
//1行目に空白行を挿入し、見出しテキストを設置
sht.insertRows(1);
sht.getRange(1,1,1,lastcl+1).setValues(midashi);
//チェックボックスを設置した旨を掲載
// Browser.msgBox("チェックボックスを挿入しました");
}else{
//Noなら作業中止の旨を掲載
Browser.msgBox("作業を中止しました");
}
}
insertCheckboxes(checkedValue)のパラメーター
名前 | 型 | 説明 |
---|---|---|
checkedValue | Object | チェックボックスのデータ検証でオンになっている値。 |
insertCheckboxes(checkedValue)の戻り値
Range - チェーン用の範囲。
スプレッドシートに検証がオン状態のチェックボックスを挿入するまとめ
GAS×スプレッドシートに検証がオン状態のチェックボックスを挿入するならinsertCheckboxes(checkedValue)
メソッドを利用しましょう。
関連記事:【GAS】スプレッドシートにチェックボックスを挿入する