スクリプトを使用してCheckBox
をSheet
に追加するにはどうすればよいですか?
これはおそらく些細なことですが、オンラインで単一の例を見つけることができず、CheckBox
クラスについても docs で言及されていません。
GUIから、Insert-> CheckBox
に移動します。
セルの値をTRUEまたはFALSEに設定しても機能しません。
GoogleスプレッドシートのUIからチェックボックスを追加し、 Class Range のcopyToメソッドのいずれかを使用します。
注:On April 19、209 Google Apps Scriptリリースに含まれるGoogleは、requireCheckbox
メソッドに注意します。 my other answer の詳細を参照してください。
Google Apps Script Spreadsheetサービスには、Googleスプレッドシートのユーザーインターフェースから実行できるすべてのメソッドが含まれていません。これは、かなり新しい機能である[挿入]> [チェックボックス]の場合です。
記録マクロ機能でもこれを行うことはできません。次は一瞬前に記録された
/** @OnlyCurrentDoc */
function InsertCheckbox() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A1').activate();
/*
* Added to show the missing Insert > Checkbox step
*/
spreadsheet.getRange('B1').activate();
spreadsheet.getRange('A1').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
};
注:SpreadsheetApp.CopyPasteType.PASTE_NORMAL
の代わりにすべてのセルプロパティ(境界線、数式、背景など)を渡したくない場合は、SpreadsheetApp.CopyPasteType.PASTE_DATA_VALIDATION
を使用します。
スタックオーバーフローの関連Q
使用 文書化されていない メソッドrequireCheckbox
注:On April 19、209 Google Apps Scriptリリースに含まれるGoogleは、requireCheckbox
メソッドに注意します。
function addCheckboxToA1() {
var cell = SpreadsheetApp.getActive().getRange('A1');
var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
var rule = SpreadsheetApp.newDataValidation()
.requireCheckbox()
.build();
cell.setDataValidation(rule);
}
AppsスクリプトIDEオートコンプリート機能には、 https://developers.google.com/apps-script/ に記載されていないいくつかのメソッドが表示されます。この方法の1つ は requireCheckbox()
メソッドとして表示されるnewDataValidation()
でした。