range.clear({contentsOnly:false})在Google Apps脚本中无法正常工作

时间:2016-08-22 11:21:27

标签: google-apps-script

此代码不清除任何内容。这是一个错误吗?如果是的话,在哪里举报?

function clearTheRange() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange(1,1);
  range.setBackground("yellow");
  range.setValue("test");
  range.clear({contentsOnly:false});
}

range.clear()按预期工作。

以下是我测试它的表单链接:https://docs.google.com/spreadsheets/d/1H79hEr2KhVGV4xTICRgLa_bPfimAV1gFXir6Ht_YouA/edit?usp=sharing

2 个答案:

答案 0 :(得分:0)

clear只会“考虑”选项参数中传递的内容 在你的情况下,它会查看选项,看它应该看内容但不清楚它们。假设未提供的所有内容均为false,并且将被清除 字段名称的唯一部分有点用词不当,只是人们通常只想清除一件事而不是除了某些东西之外的所有东西。

尝试range.clear({formatOnly: true});清除格式,或range.clear({contentsOnly: true});清除内容。

答案 1 :(得分:0)

最后,如果我需要为contentsOnly使用变量,我会得到以下解决方案:

function test() {
  clearTheRange(false);
}

function clearTheRange(contentsOnly) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange(1,1);
  range.setBackground("yellow");
  range.setValue("test");
  //range.clear({contentsOnly:contentsOnly}); - this will not work if contentsOnly is false;
  if (contentsOnly) range.clearContent(); else range.clear();
}