在 Google Sheets 电子表格中按名称对工作表进行排序的脚本

2024-01-08

我使用 Google Sheets 电子表格来管理我正在处理的文件。我在任何给定时间都有大约 60-70 个文件,每个文件都有一个唯一的文件编号。每个文件在我的电子表格中都由一个以其文件号命名的唯一工作表表示。文件编号符合以下格式:[#]-[##]-[####](例如 5-18-0040)。我还有一个名为“文件”的工作表,它是所有这些工作表和一些其他隐藏工作表(其中包含操作)的列表。

我拼凑了一个脚本,我原以为可以通过增加文件编号(例如 1-15-0023、2-16-1924、3-14-2012、5-17-0040)对这些工作表进行排序,然后推送文件工作表以及那些隐藏的工作表。然而,这不起作用。它肯定会稍微移动纸张,但我最终还是得到了乱序的纸张。

谁能看一下这段代码并告诉我什么可能会失败?例如,我是否需要将名称指定为整数(如果是,如何?)或者是否有其他原因可能阻止该脚本工作?

function sortSheets () {
  var sheetNameArray = [];
  var sheets = ss.getSheets(); 
  for (var i = 0; i < sheets.length; i++) {
    sheetNameArray.push(sheets[i].getName());
  }
  sheetNameArray.sort(); 
  for( var j = 0; j < sheets.length; j++ ) {
    ss.setActiveSheet(ss.getSheetByName(sheetNameArray[j]));
    ss.moveActiveSheet(j + 1);
  }
  ss.setActiveSheet(ss.getSheetByName("Files"));
  ss.moveActiveSheet(1);
  ss.setActiveSheet(ss.getSheetByName("Court Information"));
  ss.moveActiveSheet(2);
  ss.setActiveSheet(ss.getSheetByName("Timelines"));
  ss.moveActiveSheet(3);
  ss.setActiveSheet(ss.getSheetByName("Template"));
  ss.moveActiveSheet(4);
  ss.setActiveSheet(ss.getSheetByName("Sheet Operators"));
  ss.moveActiveSheet(5);
}

function sortSheets () {
  var sheetNameArray = [];
  var sheets = ss.getSheets(); 

  if (sheets.length <= 2){
    return;
  }

  for (var i = 3; i < sheets.length; i++) {
    sheetNameArray.push(sheets[i].getName());
  }

  sheetNameArray.sort(); 

  for( var j = 0; j < sheetNameArray.length; j++ ) {
    ss.setActiveSheet(ss.getSheetByName(sheetNameArray[j]));
    ss.moveActiveSheet(j + 4);
  }
}

对于我的问题,我希望前 3 个保留,之后的任何工作表都进行相应排序。这是一种更简洁的做法

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Google Sheets 电子表格中按名称对工作表进行排序的脚本 的相关文章

  • 支持 Apps Script Web App 5000 个并发用户

    我正在为 G Suite 客户构建一个小型应用程序 该应用程序将供客户的所有员工使用 在高峰时段可以看到多达 5 000 名并发用户 他们没有应用程序制作工具 也不打算很快启用应用程序制作工具 Apps 脚本 Web 应用程序能够处理这么多
  • 使用 Google 电子表格中的脚本从手机获取我的当前位置

    有没有办法使用 Google Apps 脚本从手机的 GPS 数据中获取我的当前位置 纬度和经度 最好是十进制形式 另外 是否可以打开和关闭 GPS 或者至少检测它是否打开或关闭 这是我尝试做的 我带着电动助力车去一些地方 在每个地方我都会
  • 使用 Google 翻译翻译整个 Google 表格

    我有一张用日语写的 Google 表格 我需要将其转换成英文 我知道我们可以使用googletranslate
  • Google api - 如何获取表单中的文本?

    当我打电话时getContent 在表单文件上 它返回空 null 如何获取 Google Drive 中表单文件的文本内容 你是对的 你需要使用表格服务 https developers google com apps script re
  • Google Apps onEdit 事件 - event.source 未定义

    Google 文档允许编写脚本 当单元格内容与特定单词匹配时 我试图更改单元格的颜色 我的问题是 onEdit 函数没有按照此处指定的方式工作 https developers google com apps script guide ev
  • 将 showModalDialog() 的内容添加到剪贴板 Google 脚本

    当我单击按钮时 我已将格式化数据添加到模态对话框中 我想要的内容showModalDialog 当我单击按钮时也会自动添加到剪贴板 模态是用下面的代码生成的 并且temp是我想要添加到剪贴板的输出 Output to Html var ht
  • 需要从表单生成的工作表中移动行

    我有一个调查表 我需要我的团队查看一次 但之后我希望我的团队将其设置为 已关闭 的行保存到存档表中 过去 我在其他工作表中使用过此脚本 但它似乎不适用于表单链接工作表 经过研究 我发现您无法从表单链接表中剪切 但可以删除行 我的理论是脚本正
  • 第 n 行到最后一行的总和

    我想在电子表格顶部创建一个 TOTAL 行 在此行中 每个单元格应为 TOTAL 行下方列中的值的总和 例如 如果总行数是第 1 行 则单元格 A1 应该是 A2 到 A 列最后一行的总和 电子表格中的行数会随着时间的推移而增长 所以我不能
  • 对不同长度的数组使用 setValues()

    我在 Google Apps 脚本中有一个二维数组 其中包含不同长度的数组 我想在电子表格中设置数组的值 但是 由于其中的数组长度不同 我收到一个错误 本质上是说范围和数组高度不对齐 我在下面列出了数组结构的示例 如果我向每个单独的数组添加
  • 如何制作应用程序脚本以立即允许访问 Google 电子表格中的所有导入元素? [复制]

    这个问题在这里已经有答案了 I have to work with google spreadsheets I am using some template spreadsheets which all contain a lot of l
  • 如何搜索 Google 电子表格?

    我正在进行一些详尽的搜索 需要确定电子表格中是否已存在新域 URL 然而 所有 Spreadsheet 对象都没有搜索功能 即大多数 Document 对象中的 findText 功能 我觉得我错过了一些重要的事情 我缺少什么 查找文本函数
  • 两列单元格列表(下拉列表) - Google Sheet

    我需要一个两列单元格列表 下拉列表 默认情况下 使用数据验证选项我们只能在单元格列表中看到单列值 但我想从两个不同的列填充列表 请看下面的示例表 Example Table Column A Column B Sr 1 Product On
  • Google 附加组件 logourl 来源自 https://www.gstatic.com/images/icons/material

    示例 Google Apps 脚本插件位于此处 https developers google com apps script add ons cats quickstart https developers google com apps
  • Google 脚本图表默认排除标题

    使用以下脚本 function chartCreation var ss SpreadsheetApp getActive var sheet ss getSheetByName Sheet1 var chart sheet newChar
  • Google Apps 脚本无法从托管的 GAS 转换为特定的云项目

    我有一个 GAS 管理的项目 我想将其转换为特定的谷歌标准云项目 我有身份证 我将其输入到资源 云托管项目中 然后得到 项目不存在 或者您需要对其进行编辑访问 它确实存在 并且我拥有权限 因为我是所有者 该错误有些误导性 我花了一段时间才弄
  • 根据标准在多个需求之间分配数量

    我正在创建一个周期盘点表 表 1 将是用户输入 其中将放置找到的材料和数量 表 2 是盘点时的库存快照 我希望将找到的材料数量分配到表 2 上的数量中 直到表 1 的数量用完为止 按照从最新批次 日期代码 到最旧批次 先进先出 的顺序分配数
  • Google Apps 脚本:从云端硬盘下载文件(同一用户)

    我正在尝试编写一个 Google Apps 脚本来下载特定云端硬盘文件夹中的所有文件 可能是 csv 文件 我找到了 getDownloadUrl 方法 但我不知道该做什么do用它 我目前正在尝试以下代码 其中files是文件夹中的文件列表
  • 谷歌表格巧妙地将数字格式化为十亿/百万/千[重复]

    这个问题在这里已经有答案了 我有这个数字模板格式 gt 999950 0 0 M lt 999950 0 0 M 0 0 K 但是如何才能让Zeros显示为 呢 我认为你不能 条件只能应用于前两个子格式 如果一个数字匹配多个子格式 它将使用
  • 如何更改 Google 表格中图表的背景不透明度?

    我想在 Google 表格中设置 Google 图表的透明度或不透明度 就像在 Microsoft Excel 中一样 将图像设置在文本后面 以便文本仍然可读 不过好像该功能不起作用 功能预览 http drive google com f
  • 如何在 Google 电子表格中使用 Google 脚本从相邻单元格获取值?

    如果之前有人问过这个问题 我深表歉意 但我已经寻找了一个例子 不幸的是我无法找到答案 因此我为什么在这里问 如果我在 Google 电子表格中有一个自定义函数 如果内容是动态生成的 我如何获取单元格的值 当它是固定值时我可以获取该值 但当它

随机推荐

  • 如何在 Laravel 中验证 API 路由的 Vue.js / Axios 请求

    我在 Laravel 5 6 中 我已经构建了所有 API 路由 并正确响应来自 REST 客户端 Paw 的请求 我正在尝试构建一个简单的前端来访问这些路由 我尝试尽可能多地使用 Laravel 的开箱即用功能 因此我使用 Axios 使
  • 多次 fork 调用会导致 BlockingIOError

    我正在寻找有关以下代码片段的错误的解释 usr bin env python3 import os sys if name main while True pid os fork if pid 0 sys exit elif pid gt
  • 在 Entity Framework Core 中获取当前用户 ID 的正确方法

    对于 ASP NET Core 的不同 RC 关于如何获取当前登录用户的 ID 这里有很多不同的答案 我想在这里问一个明确的问题 请注意 project json 现在有 Microsoft AspNetCore Identity Enti
  • 相当于 grails 中的 InheritanceType.TABLE_PER_CLASS 吗?

    我想为 3 个域类创建 3 个单独的表 A B 扩展 A C 扩展 B 但我希望他们的表不相互连接 在hibernate中 我会使用InheritanceType TABLE PER CLASS 在grails中 等价物是什么 尝试使用ta
  • Golang 结构体接口

    我有一个函数 其参数类型为 interface 如下所示 func LoadTemplate templateData interface 就我而言 templateData 是一个结构 但每次它都有不同的结构 我使用 interface
  • 如何从异步函数返回 Promise?

    当我尝试从异步函数返回 Promise 时 无法区分返回的 Promise 和函数的状态 我认为 最简单的解决方案是将要返回的承诺放在数组中 下面是一个愚蠢的例子 但我希望它能说明问题 function loadMetaData id Re
  • 互联网浏览器中的tinymce图标

    我正在使用 TinyMCE 但图标图像未显示在 Internet Explorer 中 我检查了讨论here https stackoverflow com questions 2625019 how do i get the icons
  • 如何在 Android 上的应用程序启动器图标上显示气球计数器

    我想为android制作一个图标计数器 就像电子邮件和三星应用程序应用程序一样 我已经看到其他开发人员提出了这样的请求 但你们都说这是不可能完成的 如果是这样 为什么这两个应用程序和其他应用程序可以做到这一点 我是否必须制作多个图标图像并交
  • 停止 NSApplication 主事件循环

    我有一个由以下内容组成的应用程序 m file import
  • Java:删除点之后的所有字符

    我有一个简短的问题 我得到以下代码 String chapterNumber 14 2 1 我怎样才能从我的 chapterNumber 中获得如下所示的字符串 String mainChapterNumber 14 Edit 我想要 in
  • 删除 API post 调用的 csrf 保护

    我想从我的 Express 3 0 应用程序中删除 csrf 因为我在那里不需要它 我使用 oauth 来验证客户端 使用express csrf 时 中间件是否将API URL列入白名单 您可以通过两种方式做到这一点 1 创建一个自己的小
  • 服务器不读取客户端消息

    我再次需要套接字编程方面的帮助 现在 我想在使用命令单击按钮后将文本字段的值写入 Linux 中的远程服务器日志文件 echo textfieldValue gt gt filename 我在 Server java 中创建了两个线程 线程
  • 使用 Deno 编译时如何使用 lib.dom.d.ts 中的类型?

    我使用 Deno 编译一些 TypeScript 然后将其作为网页的一部分提供 以便它在浏览器端运行 我正在尝试在客户端使用画布元素 为此我需要类似的类型CanvasRenderingContext2D or CanvasGradient
  • BigQuery SQL:- 识别字符串中一行中的相同数字

    我想使用 SQL Bigquery 确定字符串何时连续出现 4 次以上相同的数字 例子 AAAAAB true BBBBAA false 111111 true 01010101010101 false 到目前为止 我已经尝试过使用正则表达
  • PHP聊天客户端

    我需要在 php js ajax 中创建一个聊天应用程序 需要将其集成到一个网站中 其中遇到的问题是创建一个聊天窗口 该窗口在浏览网站中的不同页面时需要保持不变 如果有人能提出更好的方法 我将不胜感激 提前致谢 至于实际的聊天应用程序 使用
  • 在 Powershell 中导入 CSV ,每 10 行分成多个文件

    我是 powershell 编码新手 我想做的是导入行数未知的 CSV 文件 然后每 10 行将其拆分为一个新的 CSV 文件 例如 如果我输入 97 行的 CSV 文件 我期望 9 个 10 行的文件和 1 个 7 行的文件 我尝试了以下
  • 浮点运算稳定吗? [复制]

    这个问题在这里已经有答案了 我知道浮点数有精度 精度后面的数字不可靠 但如果用于计算数字的方程相同怎么办 我可以假设结果也会相同吗 例如我们有两个浮点数x and y 我们可以假设结果吗x y机器1的结果和机器2的结果完全一样吗 IE 比较
  • 使用 NSOpenPanel 限制对某些文件夹的访问

    我使用 NSOpenPanel 允许用户选择一个文件夹来保存文档 我想限制它们可以保存到哪个文件夹 就层次结构而言 本质上 我想阻止他们选择上面的任何文件夹 用户 用户名 所以文件夹 用户 用户名 猫 可以接受 但是 用户 用户名 应用程序
  • DataGridView 单击事件并不总是触发

    我有一个DataGridView Its Cell Content Click每次我选择一个单元格时都不会触发 它确实会触发 但不是每次点击时都会触发 我想获取字符串变量 selected 中选定单元格的内容 这是我正在做的事情 priva
  • 在 Google Sheets 电子表格中按名称对工作表进行排序的脚本

    我使用 Google Sheets 电子表格来管理我正在处理的文件 我在任何给定时间都有大约 60 70 个文件 每个文件都有一个唯一的文件编号 每个文件在我的电子表格中都由一个以其文件号命名的唯一工作表表示 文件编号符合以下格式 例如 5