【问题标题】:Google Spreadsheet: Wrap all text onEditGoogle 电子表格:将所有文本换行编辑
【发布时间】:2014-08-18 05:46:38
【问题描述】:

我有一个 Google 电子表格,其中包含一个名为 Wrapped Sheet 的表格,用于从 Google 表单收集的回复。在每个新添加的响应(因此 onEdit 函数)上,我想在所有单元格上调用 Wrap Text 选项。我打开脚本编辑器并使用以下代码创建了onEdit.gs

function onEdit(){
  var activeSheet = SpreadsheetApp.getActiveSpreadsheet();
  if(activeSheet.getName() == "Wrapped Sheet") {
    var dataRange = activeSheet.getRange(1,1,data.length,headers.length);
    dataRange.setWrap(true);
  }
}

但是,新响应不会触发该函数。此外,在脚本编辑器中手动调用它不会报告任何错误。

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    你应该去完整阅读google script event docs

    您会发现您的用例有一个特定事件:在表单提交时。而不是在修改工作表时执行代码(函数 onEdit(e)),您应该在提交表单时执行代码。

    在同一个文档中,您可以找到 exemple of how to use this trigger

    注意:请注意,有两种类型的事件触发器:简单事件触发器和已安装事件触发器。 onFormSubit 事件响应已安装的触发器(同样,您会在 docs 中找到所有内容)。

    【讨论】:

    • 最重要的是,您正在测试电子表格名称而不是工作表名称,因此它是无操作的。
    • 感谢您为我指出正确的来源。实际解决方案结果非常简单,只需要onFormSubmit 函数:function onFormSubmit(e) { e.range.setWrap(true); }
    【解决方案2】:

    如果每个 S.O.答案是阅读文档的链接,S.O.有点无意义。

    所以,正如 orschiro 所说... 正如本 S.O. 中所述回答... https://webapps.stackexchange.com/questions/88543/how-to-automatically-wrap-text-to-new-responses-from-a-form-in-a-google-spreadsh

    实际答案是:

    function wrap(e) {
      e.range.setWrap(true);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2018-06-07
      • 1970-01-01
      • 1970-01-01
      • 2021-09-18
      • 1970-01-01
      相关资源
      最近更新 更多