首页 > 解决方案 > 无论大小如何,如何在 Google 表格中解析我的活动范围?

问题描述

我创建了一个脚本,它从我的 Google 表格中提取信息,然后分解它的结构,以便我可以将其格式化为 Slack 的一个吸引人的文本框。我的工作表中有六列,我想把它们变成一个三行框。

var sheet = SpreadsheetApp.getActiveSheet();
  var activeRange = SpreadsheetApp.getActiveRange(); 
  var changeRange = 
  sheet.getRange(activeRange.getRow(),1,1,sheet.getLastColumn());
  changeRange.setBackgroundRGB(255, 255, 255);

  var values = activeRange.getValues();


  var output = {
    "text": JSON.stringify(values)}


  var str = values[0][0] + " | " + values[0][1] + "\nItem: " + values[0][2] + " | " + values[0][3] + "\nShorted: " + values[0][4] + "\nResolution: " + values[0][5] + "\n";   

然后还有更多关于将其发布到 Slack 的内容,但我认为将其包含在此处并不重要。

我的问题是我一次只能用这种格式突出显示一行。当我尝试突出显示多行时,它只读取第一行,因为我的 STR 变量一次只拉六个单元格。如果我添加额外的一行,如下所示:

var str = values[0][0] + " | " + values[0][1] + "\nItem: " + values[0][2] + " | " + values[0][3] + " \n短路:" + values[0][4] + "\n分辨率:" + values[0][5] + "\n";
var str = values[1][0] + " | " + values[1][1] + "\nItem: " + values[1][2] + " | " + values[1][3] + " \n短路:" + values[1][4] + "\n分辨率:" + values[1][5] + "\n";

它只适用于两行,发送一行会破坏它。 即使我要发送多达一百行,我如何确保这将为每一行发送相同的格式? 我目前有一些其他代码可以更改我选择的行的背景颜色,无论我选择多少行,这似乎都有效。

标签: google-apps-scriptgoogle-sheets

解决方案


推荐阅读