使用Google脚本在列表中列出工作表ID

时间:2019-06-26 20:28:52

标签: api google-apps-script google-sheets

我试图将工作表ID列出在主工作表的一列中。

我有15张纸,我想在A1:A15列中显示每张纸的ID。我从这里想出了如何将其放入弹出窗口,但是我一生都无法将其填充到单元格中。当我尝试时,它只会填充单元格中系列的最后一个,而不是全部填充。

ValueError Traceback (most recent call last)
<ipython-input-56-9685f4afabba> in <module>
     44 
     45 good = []
---> 46 for m,n in matches:
     47     if m.distance < 0.7*n.distance:
     48         good.append(m)

1 个答案:

答案 0 :(得分:1)

尝试一下:

这将它们放入第1列:

function getSheetId()
{
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var allSheets=ss.getSheets();
  var ids=[];
  for(var i=0;i<allSheets.length;i++) {
    ids.push([allSheets[i].getSheetId()]);
  }
 sh.getRange(1,1,ids.length,1).setValues(ids);
}

这会将对话框添加到函数中:

function getSheetId1()
{
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var allSheets=ss.getSheets();
  var ids=[];
  var html="<style>td,th{border: 1px solid black;}</style><table><tr><th>Sheet Name</th><th>ID</th></tr>";
  for(var i=0;i<allSheets.length;i++) {
    ids.push([allSheets[i].getSheetId()]);
    html+=Utilities.formatString('<tr><td>%s</td><td>%s</td></tr>',allSheets[i].getName(),allSheets[i].getSheetId());
  }
  sh.getRange(1,1,ids.length,1).setValues(ids);
  html+='</table>';
  var userInterface=HtmlService.createHtmlOutput(html);
  SpreadsheetApp.getUi().showModelessDialog(userInterface,'Title');
}