【问题标题】:How to write value and set all of sheet's Ids on the list of ranges by an loop's of javascript in GAS (Google Apps Script) to "A2:A" on Spreadsheet?如何通过 GAS(Google Apps 脚本)中的 javascript 循环在电子表格上将值和设置范围列表中的所有工作表 ID 设置为“A2:A”?
【发布时间】:2019-11-22 03:34:01
【问题描述】:

如何写入值并在谷歌电子表格的“A2:A”范围列表中设置所有工作表的 ID通过 javascript 的循环在 GAS ( Google Apps 脚本)?

就像这里,这是我所期望的一个例子:

        A         B         C
1  Sheet Ids Description
2  SEF32WTX  (sheet1)
3  XCXCSGS3  (sheet2)
4  XFSG33ER  (sheet3)
5  XFSGS23F  (sheet4)
6  FVDXDZ23  (sheet5)


这是我尝试运行失败的代码:

function writeAllSheetIds() {
  var s = SpreadsheetApp,
      ss = s.getAcgtiveSpreadsheet(),
      sss = ss.getSheets(),
      range = ss.getRange("A2:A");
  for (var i=1, iLen=sss.length; i<iLen; i++) {
    range.setValues(sss[i].getSheetId());
    }
}

【问题讨论】:

  • 这个问题似乎根本没有包括任何解决问题的尝试。请编辑问题以显示您尝试过的内容,并使用Minimal, Complete, and Verifiable example 显示您遇到的特定障碍。欲了解更多信息,请参阅How to Ask
  • 您是否尝试过运行此处显示的代码示例? developers.google.com/apps-script/reference/spreadsheet/…
  • @Diego 是的,我有,但它仍然只是业余代码,我是初学者。您是否希望有人告诉我如何修复此代码。这是代码:function writeAllSheetIds() { var s = SpreadsheetApp, ss = s.getAcgtiveSpreadsheet(), sss = ss.getSheets(), range = ss.getRange("A2:A"); for (var i=1, iLen=sss.length; i&lt;iLen; i++) { range.setValues(sss[i].getSheetId()); } }
  • 这是一个主题的变体 - stackoverflow.com/q/58985761/1330560

标签: loops for-loop google-apps-script google-sheets spreadsheet


【解决方案1】:
function writeAllSheetIdsAndSheets() {
  SpreadsheetApp.getActive().getSheets().forEach(function(s){SpreadsheetApp.getActiveSheet().appendRow([s.getSheetId(),s.getName()])});
}

对于那些希望通过名称指定工作表的人:

function writeAllSheetIdsAndSheets1() {
  SpreadsheetApp.getActive().getSheets().forEach(function(s){SpreadsheetApp.getActive().getSheetByName("Sheet1").appendRow([s.getSheetId(),s.getName()])});
}

【讨论】:

  • @Cooper 哇,到目前为止,这都是很棒的作品。但是库珀!无论如何,我无法将其修改为特定的目标表,例如:“SpreadsheetApp.getSheets()[2].appendRow...”我应该这样做吗???
  • @Cooper 不..不..不..我收回上面的话!最后。这真的是非常棒的作品......
  • @Cooper 请问如果我们想将其作为自定义函数并像公式一样将其调用到电子表格单元格中,该怎么办? ??例如:“=writeAllSheetIdsAndSheets()” ...
  • 它不能是单元格函数,因为它不返回任何内容,并且会更改其他单元格的内容。
  • 我不明白你在说什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 2022-11-18
相关资源
最近更新 更多