javascript - 根据单元格值更改行对齐 - Google 脚本

标签 javascript google-sheets

如果行中 E 列的值为“Post”,则以下脚本应将 Google 工作表中的行对齐方式更改为“右”。当我运行脚本时,它不会弹出任何错误,但是,它也不会执行任何操作。

有人可以看一下下面的内容并提供一些指导吗?

谢谢!

function rowLoop() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("KOD Tests");
  var endRow = ss.getLastRow();

  for (var r = 1; r < endRow; r++) {
    rowAlignment(r);
    }
}

function rowAlignment(r) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var c = sheet.getLastColumn();
  var dataRange = sheet.getRange(r, 1, 1, c);

  var data = dataRange.getValue();
  var row = data[4];

  if(row === 'Post') {
    data.setHorizontalAlignment('right');
  }
  SpreadsheetApp.flush();
}

最佳答案

这里修复了一些问题(请参阅评论)

function rowLoop() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
  var endRow = ss.getLastRow();
  // <= to repeat for all rows
  for (var r = 1; r <= endRow; r++) {
    rowAlignment(r);
    }
}

function rowAlignment(r) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var c = sheet.getLastColumn();
  var row = sheet.getRange(r, 1, 1, c);
  // Get cell in column E of row
  var cell=row.getCell(1,5);
  // Get its value
  var data = cell.getValue();
  // Test equal to 'Post' with ==
  if(data == 'Post') {
    row.setHorizontalAlignment('right');
  }
  SpreadsheetApp.flush();
}

关于javascript - 根据单元格值更改行对齐 - Google 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41200706/

相关文章:

javascript - 如何使用 javascript 获取 http 状态代码?

google-apps-script - 如何自动添加/删除复选框的不同单元格是否包含值?

google-sheets - 如何计算谷歌电子表格中两个范围的差异?

javascript - 从 jquery .data 对象检索一个属性

javascript - 使用 javascript 打开一个新选项卡,但使用 javascript 留在当前选项卡上

javascript - 用变量替换字符串的变量名的子字符串

javascript - 使用逗号还是分号?

node.js - Google Sheets API——自动获取最大范围的表格

google-apps-script - 自定义 Google 电子表格/表格工具栏

javascript - 如何完成 For 循环以从一张纸中的列表中设置另一张纸中的值?