Google工作表

时间:2017-08-22 12:30:50

标签: google-apps-script google-sheets

我正在尝试通过执行以下操作来调整Google表格的最后一栏:

sheet.autoResizeColumn(col);

我收到错误:

  

无法在列索引'40'处自动调整列大小,因为只有   '40'列。 (第165行,文件“代码”)

错误说有40列,我试图改变最后一列,问题是什么? Google Script中的计数从1开始。如果我做sheet.autoResizeColumn(col-1);一切正常,但错误的列会调整大小。

2 个答案:

答案 0 :(得分:1)

这是一种方法:

function onEdit()   {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0]; 
  var cell = ss.getRange("AN:AN");
      cell.setFontSize(12);
      cell.setHorizontalAlignment("center");
      for (var i = 40; i < 41; i ++){ 
sheet.autoResizeColumn(i); }  
}

答案 1 :(得分:0)

Google已经破坏了某些内容(编辑:自修复后 - 工作表最后一列的autoResizeColumn()不应再返回错误消息了。)

我有一些代码,我已经使用了几个月,现在已经决定不起作用,同样的问题。我的代码很长,而且太大而无法在此处粘贴,但我得到了#34;无法在列索引'6'处自动调整列,因为只有'6'列。 (第648行,文件&#34;代码&#34;)&#34;即使有明确的6列,autoResizeColumn()也可以使用列引用(1-6),而不是数组引用(0-5)。几天前代码运行良好,我没有改变任何内容。

如果我修改我的代码以引用0-5,我会得到一个越界错误(没有第0列)。如果我修改我的代码以引用1-5,它可以正常工作,除了第6列没有自动调整大小(按预期)。

解决方法是在工作表中添加一个额外的空白列,同时脚本自动调整大小,然后删除该列。

相关问题