毎週火曜に手動でチェック外しているよ、というお友達が意外と多い。
地味に面倒なチェック外し作業を自動化しちゃおう!という記事。
今回はみんな使ってる(であろう)スプレッドシートの場合で書くよ。
①まず一覧を作る。どんな形式でも良い。
作った一覧のシート名を任意の名前に変更する。例:MD管理(スクショ赤線のところ)

②上の方の『拡張機能』から、『Apps Script』を開く。
↓こんな感じのページが別タブで開かれてたらOK。
もし違う画面だったら、左端の『<>』マークを押したらこの画面になると思う。

③右半分の、グレー背景部分(4行あるところ)を全部消す
④消したところに、↓をコピペする
function resetCheckboxes() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('MD管理');
if (!sheet) {
Logger.log('シート "MD管理" が見つかりません');
return;
}
var range = sheet.getDataRange();
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
for (var j = 0; j < values[i].length; j++) {
if (values[i][j] === true) {
sheet.getRange(i + 1, j + 1).setValue(false);
}
}
}
}
↑こうなってたらOK
Ctrl+Sで保存を忘れずに。
***補足①***
ざっくり書いてあること
・resetCheckboxesという名前のコードだよ
・『MD管理』って名前のシートがあるか確認するよ
・『MD管理』のシートの隅々まで、チェックボックスをオフにするよ
***補足②***
2行目、4行目に『MD管理』と書いてあるが、
①でつけた任意のシート名が『MD管理』ではない場合は、
各々がつけたシート名に書き換えをすること。
また、今後一覧のシート名を変えることがあれば、
その都度『MD管理』のところを新しいシート名に変更すること。
⑤今のチェックボックスの入力状態をスクショで保存したうえで、
『▷実行』を押して試運転する。(省略可)
一覧のシートのチェックボックスが全部とれていたらOK。
稼働確認のための実行なので、チェックボックスを元の状態に戻して問題ない。
⑥左端の『⏰トリガー』を開く。

こんな画面に変わればOK
⑦右下の青い『トリガーを追加』から、↓の通りに設定する。

実行する関数:resetCheckboxes
イベントのソース:時間主導
トリガータイプ:週ベース
曜日:毎週火曜日 ※メンテの曜日
時刻:午後12時~1時 ※メンテ時間なら何時でも可
⑧多分保存を押すとこんなポップアップがでてくるので、
左下の『Advanced』を押す。
つづいて、『Go To 無題のプロジェクト(unsafe)』を押す。
※警告出るとびびるんですけど、このコード信用していい?だいじょぶそ?って画面です
自動化したいので避けては通れぬのだ。無視して次へ
次の画面で下にスクロールすると↓みたいな文章がでてくるので、
『Continue』を押す。
トリガー設定されてたら全部の設定がおわり!おつかれさまでした
終

