方法“ moveActiveSheet”在Google Apps脚本(JavaScript)中无法正常工作

杰西·格

我正在Google Apps脚本中编写脚本。

目标:允许用户按每个工作表名称中的日期对Google电子表格中的工作表/标签进行排序。

function sorter() {
  var sp = SpreadsheetApp.getActiveSpreadsheet();
  var sheets = sp.getSheets();
  var sheet_metadata = get_and_sort_sheet_metadata(sheets)
  for( var j = 0; j < sheet_metadata.length; j++ ) {
    sp.setActiveSheet(sp.getSheetByName(sheet_metadata[j].name));
    sp.moveActiveSheet(j + 1);    
  }
}

这是sheet_metadata内容的示例:

[{date=false, name=A, index=1}, {date=false, name=B, index=2}, {date=1.391058E12, name=ARCHIVE: xname0 name: 1/30/2014 ID:145952, index=8}, {date=1.42173E12, name=ARCHIVE: zname1 name: 1/20/2015 ID:1459527232, index=7}, {date=1.4543892E12, name=ARCHIVE: wname3 name: 2/2/2016 ID:145952723299, index=6}, {date=1.4544756E12, name=ARCHIVE: dname4 name: 2/3/2016 ID:145952723266, index=5}, {date=1.454562E12, name=ARCHIVE: qname5 name: 2/4/2016 ID:1459500, index=4}, {date=1.4546484E12, name=ARCHIVE: qname6 name: 2/5/2016 ID:1459500, index=3}]

日期值是.getTime()的结果。名称是工作表的名称。索引是工作表的原始索引。对象在此数组中的顺序就是图纸应遵循的顺序。

sheet_metadata中的对象始终按正确的顺序排列。但是,for循环(请参见上文)无法以正确的顺序放置图纸。

换句话说,纸张最终的顺序与sheet_metadata中的纸张数据的顺序不对应。

为什么不起作用?

塞尔萨·萨萨

几天前我遇到了同样的问题,我找到了一种使用此代码的方法:

在此示例中,profSheets是一组按我想要的方式排序的工作表名称。

  var pos = ss.getNumSheets();
  for(var s=0 ; s < profSheets.length ; s++){
    var sh = ss.setActiveSheet(ss.getSheetByName(profSheets[s]));
    SpreadsheetApp.flush();
    Utilities.sleep(200);
    ss.moveActiveSheet(pos);
    SpreadsheetApp.flush();
    Utilities.sleep(200);
  }

我将应该在第一个位置的工作表放到最后一个位置,然后将下一个工作表放置在最后一个位置,依此类推,直到列表中的姓氏。最后,第一个实际上位于第一位。(我希望这是可以理解的;-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google Apps脚本:jQuery无法正常工作

来自分类Dev

为什么此Google Apps脚本的参数无法正常工作?

来自分类Dev

Google Apps脚本中的createFile()无法正常运行

来自分类Dev

无法使jQuery警报在Google Apps脚本中工作

来自分类Dev

为什么javascript中的nextSibling方法无法正常工作

来自分类Dev

递归方法无法使用JavaScript正常工作

来自分类Dev

JavaScript setInterval() 方法无法正常工作

来自分类Dev

Google Apps 脚本中是否有 toFixed() 的替代方法?

来自分类Dev

不同的方法在 Django 中无法正常工作

来自分类Dev

Google脚本:autoResizeColumn在超链接上无法正常工作

来自分类Dev

Google Apps脚本中的标准Javascript

来自分类Dev

使用Google Apps脚本从Google云端硬盘托管Google网站中的图片的替代方法是什么?

来自分类Dev

Google Apps脚本查找行的最快方法?

来自分类Dev

Google Apps脚本-“ indexOf”方法的用法

来自分类Dev

Google Apps 脚本在嵌入时不起作用。类型错误:无法调用 null 的方法“getActiveSheet”

来自分类Dev

Javascript日期到字符串的方法无法正常工作

来自分类Dev

无法使洗牌方法正常工作

来自分类Dev

扫描方法无法正常工作

来自分类Dev

方法gsub无法正常工作

来自分类Dev

__call()方法无法正常工作

来自分类Dev

setPriority()方法无法正常工作

来自分类Dev

方法参考无法正常工作

来自分类Dev

addEventListener方法无法正常工作

来自分类Dev

Java方法无法正常工作

来自分类Dev

setBounds方法无法正常工作?

来自分类Dev

onDraw()方法无法正常工作

来自分类Dev

发布方法无法正常工作

来自分类Dev

Javascript中的API POST方法的HTML特殊字符-Google脚本

来自分类Dev

方法添加到链接列表中无法正常工作

Related 相关文章

  1. 1

    Google Apps脚本:jQuery无法正常工作

  2. 2

    为什么此Google Apps脚本的参数无法正常工作?

  3. 3

    Google Apps脚本中的createFile()无法正常运行

  4. 4

    无法使jQuery警报在Google Apps脚本中工作

  5. 5

    为什么javascript中的nextSibling方法无法正常工作

  6. 6

    递归方法无法使用JavaScript正常工作

  7. 7

    JavaScript setInterval() 方法无法正常工作

  8. 8

    Google Apps 脚本中是否有 toFixed() 的替代方法?

  9. 9

    不同的方法在 Django 中无法正常工作

  10. 10

    Google脚本:autoResizeColumn在超链接上无法正常工作

  11. 11

    Google Apps脚本中的标准Javascript

  12. 12

    使用Google Apps脚本从Google云端硬盘托管Google网站中的图片的替代方法是什么?

  13. 13

    Google Apps脚本查找行的最快方法?

  14. 14

    Google Apps脚本-“ indexOf”方法的用法

  15. 15

    Google Apps 脚本在嵌入时不起作用。类型错误:无法调用 null 的方法“getActiveSheet”

  16. 16

    Javascript日期到字符串的方法无法正常工作

  17. 17

    无法使洗牌方法正常工作

  18. 18

    扫描方法无法正常工作

  19. 19

    方法gsub无法正常工作

  20. 20

    __call()方法无法正常工作

  21. 21

    setPriority()方法无法正常工作

  22. 22

    方法参考无法正常工作

  23. 23

    addEventListener方法无法正常工作

  24. 24

    Java方法无法正常工作

  25. 25

    setBounds方法无法正常工作?

  26. 26

    onDraw()方法无法正常工作

  27. 27

    发布方法无法正常工作

  28. 28

    Javascript中的API POST方法的HTML特殊字符-Google脚本

  29. 29

    方法添加到链接列表中无法正常工作

热门标签

归档