LANG SELRCT

コードを書く場所

2019年10月19日土曜日

スプレッドシートにチェックボックスを表示したい range.insertCheckboxes()


A列のデータに対して、B列にチェックボックスを追加したい。

チェックを入れたり外したり、チェックボックスを外したり、チェックが付いているか判定したりもできるらしい。



コード.gs
function addCheckboxes() {
  targetRange().insertCheckboxes();
}

function checked() {
  targetRange().check();
}

function unchecked() {
  targetRange().uncheck();
}

function remove() {
  targetRange().removeCheckboxes();
}

function judge() {
  var result = targetRange().isChecked();
  Logger.log(result);
}

function targetRange() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var lastRow = sheet.getLastRow();
  var range = sheet.getRange('B2:B' + lastRow);
  return range;
}

意訳
この機能がやること
指定した範囲にチェックボックスを挿入する


この機能がやること
指定した範囲のチェックボックスにチェックを入れる


この機能がやること
指定した範囲のチェックボックスのチェックを外す


この機能がやること
指定した範囲のチェックボックスを削除する


この機能がやること
指定した範囲のチェックボックスがチェックされているか取得して
ログに出す (すべてチェックされていたらtrueでそれ以外はfalse)


この機能がやること
開いているシートを取得して
データが入っている最終行を取得して
B2からその最終行までの範囲を指定して
その範囲を返す




補足

スクリプトを使わない方法。

メニューから、挿入 > チェックボックスで追加できる。



参考

insertCheckboxes()
https://developers.google.com/apps-script/reference/spreadsheet/range#insertCheckboxes()

check()
https://developers.google.com/apps-script/reference/spreadsheet/range#check()

removeCheckboxes()
https://developers.google.com/apps-script/reference/spreadsheet/range#removeCheckboxes()

isChecked()
https://developers.google.com/apps-script/reference/spreadsheet/range#isChecked()

isChecked()
https://developers.google.com/apps-script/reference/spreadsheet/range#ischecked

チェックボックスを追加して使用する
https://support.google.com/docs/answer/7684717?co=GENIE.Platform%3DDesktop&hl=ja