如何在多个工作表上运行脚本,Google Sheets

2024-05-12

我有一个脚本,想在 Google 工作表中的特定选项卡上运行,但不一定在所有选项卡上运行。我尝试执行两个不同名称的脚本,但只有最后一个保存的脚本会运行。如何编写此脚本以在特定选项卡上运行?这是我的开始脚本:

function onEdit() {
  var s = SpreadsheetApp.getActive().getSheetByName('Proposal');
  s.showRows(1, s.getMaxRows());

  s.getRange('B:B')
    .getValues()
    .forEach( function (r, i) {
      if (r[0] == 'Hide') 
        s.hideRows(i + 1);
    });
}

我尝试使用另一个问题的建议进行这样的修改,但没有成功。

function onEdit() {
  var tabs = [
        'Proposal',
        'Materials List - All',
        'Materials List - Shingles',
        'Materials List - Access',
        'Work Order'
  ];

  var ss=SpreadsheetApp.getActiveSpreadsheet();
  for (var i = 0; i < tabs.length; i++) {
    var sheet = ss.getSheetByName(tabs[i]);
    s.showRows(1, s.getMaxRows());

    s.getRange('B:B')
      .getValues()
      .forEach( function (r, i) {
        if (r[0] == 'Hide') 
          s.hideRows(i + 1);
      });
  }

关于如何正确执行此操作有什么建议吗?如果我认为这样更容易,我该如何在所有选项卡上执行此操作?

谢谢你!


你可以通过两种方式做到这一点。使用“排除”或“仅”。

exclude意味着,如果当前工作表是其中之一,则不要执行此操作。

only意味着,仅当当前工作表是其中之一时才执行此操作。

使用下面的代码并启用任一选项,然后尝试。要启用,请将各自的工作表名称添加到excludes or only通过取出数组并取消注释行//。它仅适用于当前工作表,不适用于电子表格中的所有工作表。

function onEdit() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getActiveSheet();

  // use only one of these 2 options

  // add sheets names to exclude, example ['Sheet1', 'Sheet2']
  // to exclude these sheets enable these 2 lines below by uncommenting
  // var excludes = [];
  // if (excludes.indexOf(s.getName()) != -1) return;

  // add sheet names to work on only these sheets, as above
  // to work on only these sheets enable these 2 lines below by uncommenting
  // var only = [];
  // if (only.indexOf(s.getName()) == -1) return;

  s.showRows(1, s.getMaxRows());
  s.getRange('B:B')
    .getValues()
    .forEach(function(r, i) {
      if (r[0] == 'Hide') s.hideRows(i + 1);
    });
}

EDIT

function onEdit() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var only = [
    'Proposal',
    'Materials List - All',
    'Materials List - Shingles',
    'Materials List - Access',
    'Work Order'
  ];
  only.forEach(function(name) {
    var s = ss.getSheetByName(name);
    s.showRows(1, s.getMaxRows());
    s.getRange('B:B')
      .getValues()
      .forEach(function(r, i) {
        if (r[0] == 'Hide') s.hideRows(i + 1);
      });
  });
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在多个工作表上运行脚本,Google Sheets 的相关文章

  • Google Add-on 在有限模式应用脚本中添加菜单项

    我们在新的谷歌应用程序脚本添加商店中发布了一个插件 但在除安装的初始电子表格之外的任何电子表格中使用该插件时 权限似乎无法正常工作 我遇到一个问题 当创建新电子表格并且用户从 管理加载项 菜单中选择 使用此加载项 时 我们的菜单项不会填充
  • 测量填写部分的时间 - 谷歌表单

    我正在尝试使用谷歌表单进行研究调查问卷 对于某些部分 我想自动测量用户填写所需的时间 谷歌表单中没有这样的选项 我尝试复制表单源 并用 javascript 填充时间 但它不起作用 跨源问题 未能成功托管复制的表单 如何做到 我如何衡量回答
  • 我可以使用 jQuery 的 AJAX 将表单信息提交到 Google Spreadsheets 吗?

    我喜欢能够使用谷歌电子表格 但以视觉方式集成到我的网站中很棘手 所以我想我会重新创建他们的表单 一个简单的剪切 粘贴 通过 AJAX 提交表单 数据将转到电子表格 我可以将我的用户重定向到比谷歌默认的 谢谢你所做的一切 更漂亮的东西你刚刚做
  • 在 Google Sheet 中打印每个 ID 的多个数据

    In this 电子表格 https docs google com spreadsheets d 1vHHLrLdQBRgTliO ZFmTUSTdkkWla8Lf982lG0MwJ0M edit usp sharing 我有一张名为表格
  • 如何在公式中的 & 之间添加换行符以生成 QR URL

    我正在谷歌表格中创建一个电子表格 用于跟踪财产房间的库存 我使用二维码作为标签 将其放置在房产上 并将与该特定房产的相关信息相关联 我正在使用以下代码 image https chart googleapis com chart chs 2
  • 在 Google 网站中嵌入 Google 电子表格时,Google Apps 脚本可帮助解决错误?

    电子表格 A 是欢迎新移民来到我们小镇的团队的主数据源 它里面有大量非常敏感的数据 不能公开 哪怕是一点点 我们谈论的是孩子的姓名和出生日期以及他们上学的地方 保证电子表格 A 的安全是至关重要的任务 因此 电子表格 B 使用 import
  • 用于向日历活动提交表单的 Google 脚本

    学校老师使用我的个人 Google 帐户创建表单并将日历发布到我的班级网站 努力让孩子 无法访问 Google Apps 尽可能快速 轻松地安排补考使用这种形式 https docs google com forms d 1 TvsZ3Wl
  • 使用 Google App Script 从一个电子表格跳转到另一个电子表格

    我有一个脚本 仅当我位于运行代码的当前工作表中时才有效 在 A1 中 我有一个复选框 其作用是刷新 api 请求 因此 我下面的代码单击复选框并获取新数据 所以我的代码的目的基本上是单击 A1 中的复选框 但是 运行此代码只会激活复选框 但
  • 用于提交、评分和发回 Google 课堂作业的 Google Apps 脚本

    正如下面的评论中提到的 如果只有学生可以交一些东西 那么我就需要能够评分并返回作业 即使它还没有上交 澄清一下 作业是通过 API 完成的 我可以控制班级和学生 正如下面的附加评论中提到的 即使您不返回作业 学生仍然会看到分配的成绩 这实现
  • 列出 Google 云端硬盘上特定演示文稿/文档的所有共享用户

    我们需要一份完整的列表 列出已获得 Google 云端硬盘上特定演示文稿 文档的 共享 查看权限的人员 我们有屏幕截图 但可能还不够 我们如何以编程方式检索这些信息 附加到 a 的属性File对象包括三个与用户相关的项目 Owner 一个单
  • 如何从 HTML 文件输入获取文件并将其作为 Google Apps 脚本中电子邮件的附件发送?

    此 HTML 代码使用 Google Script 的 HTML 类服务获取文件输入 见下文 我想获取输入字段的值 文件 发送到我的 gs 文件并将其作为电子邮件的附件发送 从输入字段获取值只会返回文件的目录 这没有任何帮助 因为 Goog
  • Google 表格 - 开始日期和结束日期列表之间的日期列表

    我想列出开始日期和结束日期列表之间的所有日期 我已经对每一行日期使用了序列公式 但我正在寻找一个单独的公式来工作 无论我有多少行 非常感谢任何帮助 我在单元格 E2 中输入了这个公式 sort query sequence max A2 B
  • 如何从 Google 电子表格中删除项目?

    我通过在脚本编辑器上选择 文件 gt 制作副本 错误地制作了 Google Apps 脚本项目的副本 从那时起 每次我在该项目所属的电子表格屏幕上单击 工具 gt 脚本编辑器 时 我看到显示两个项目 原始项目和复制项目 的屏幕 我需要选择一
  • 如何使 onEdit() 触发函数应用于多个工作表

    我正在处理一张 Google 表格 我有一个脚本可以填充column B当我更新时有时间戳column A在第一个选项卡上 不过 我需要它在第二个选项卡上执行相同的操作 但我无法让它在那里工作 我需要改变什么 我当前使用的脚本是 funct
  • 通过嵌入式 Google Sheet 上的按钮激活脚本

    我正在尝试嵌入一个 Google 电子表格 其中包含一个我希望用户能够激活的脚本 我不希望他们能够编辑页面上的任何内容 我想我可以这样做 共享工作表并设置编辑权限 限制在我想要共享的一张纸上进行编辑 图像位于单元格上方 所以我认为这会阻止人
  • 如果您有多个表单向单个电子表格发送响应,Google 如何知道提交表单时要执行哪个 onsubmit 触发器

    我需要有人澄清 据我了解 多个表单可以将其回复发送到新 Google 表格中的单个电子表格 因此 我创建了两个 Google 表单 并让他们都将回复发送到新的 Google 电子表格 然后我在电子表格 而不是表单 中创建了两个脚本 每个脚本
  • 复制带有内嵌图像的表格

    我正在尝试将 GDoc 的内容复制到另一个 GDoc 中 这对于所有不同的元素类型都非常有效 包括一个表 枚举DocumentApp ElementType TABLE 但是 如果表包含内联图像 EnumDocumentApp Elemen
  • 如何使用 google Sheet 作为数据库

    如何在 HTML Web 应用程序中生成 Google 工作表数据 并允许用户从 HTML Web 应用程序更新评论 我在谷歌表中有一些数据 通过谷歌表单提交 我想使用搜索按钮根据 请求编号 从网络应用程序搜索工作表数据 应该能够更新网络应
  • 自动从外部数据库加载 Google 电子表格数据

    我有一个共享的 Google 电子表格 工作表的某些列必须填充数据库服务器 PostgreSQL 中存在的数据 SQL 查询 此外 数据加载必须安排为自动完成 例如每天 1 点 最后 我需要在电子表格中进行一些调整 例如 加载后将日期时间放
  • 将 html 转换为 pdf 时防止表格单元格跨页破坏

    使用 Google Apps 脚本 我有一个 html 模板 我填写该模板 然后以 pdf 形式发送 通过传真和 或电子邮件 该模板包括一个带有问题 答案的两列表格 如果行数足够多 表格会在pdf中跨页分页 并且分页符通常发生在单元格的中间

随机推荐

  • 使用 Puppeteer 和 Headless Chrome 获取 DOM 节点文本

    我正在尝试使用无头 Chrome 和 Puppeteer 来运行我们的 Javascript 测试 但我无法从页面中提取结果 基于这个答案 https stackoverflow com a 45799744 4794 看起来我应该使用pa
  • 使用外部按钮选择下一个/上一个单选按钮

    我正在制作一种幻灯片形式 当用户单击下一张图像时 还必须选择单选按钮 我的滑动功能可以正常工作 下一个按钮 也可以工作 但我有点坚持使用 上一个 按钮 不明白为什么它不起作用 fiddle http jsfiddle net V4tdx 这
  • System.diagnostics.process 进程在托管后无法在 IIS 上运行?

    我正在尝试从网络应用程序安装 exe 当我在本地运行应用程序 从 asp 开发服务器 时 它安装正确 但当我托管在 IIS 上时 它不起作用 我在asp net页面的Page load方法上编写了这段代码 想要在客户端计算机上安装Test
  • 如何使用 libpq 获取双精度值?

    The examples http www postgresql org docs 9 3 interactive libpq example htmllibpq 文档中展示了如何通过将整数值转换为主机字节序表示来获取整数值 我很好奇必须做
  • 如何在 Python 中连接两个列表?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 如何在 Python 中连接两个列表 Example listone 1 2 3 lis
  • 重置 Windows Phone 照片上传

    我正在尝试使用 RestSharp 将照片上传到 Windows Phone 7 应用程序中的 REST api 进行获取 发布 post参数如下 photo 照片 编码为多部分 表单数据 照片 相册 id 现有相册的标识符 可以是一个事件
  • DialogFragment在Android中的位置

    我有一个DialogFragment显示一个View就像弹出屏幕一样 窗口始终出现在屏幕中间 有没有办法设置位置DialogFragment窗户 我已经查看了但还没有找到任何东西 尝试这样的事情 Override public View o
  • Python-使用元组作为列表索引[重复]

    这个问题在这里已经有答案了 我有一个元组列表 tuples list 1 0 2 3 3 2 2 0 我想访问二维数组的元素a例如 使用其中一些元组 for i in range 3 print a tuples list i 应该输出的值
  • 如何在 WIX 中引用用户的主目录

    我正在为 SDK 创建一个安装程序 其中包括由最终用户编译的源代码 我希望我的 Wix 安装程序默认将其放入用户的主目录中 但我找不到要使用的正确属性名称 您还可以参考HOMEPATH环境变量与 HOMEPATH 有关用于属性的语法的更多详
  • 如何为 Mac OS X 制作可拖动的菜单栏图标

    我正在为我正在开发的应用程序编写菜单栏图标 但是 NSStatusBar 类没有可以通过 cmd 鼠标左键拖动来使图标可拖动的方法 如何使用 Objective C 代码使菜单栏图标可拖动 谢谢 目前您无法使用 NSStatusBar 来完
  • 无法检索用户角色

    我正在尝试从 WL 服务器将角色列表返回到移动客户端设备 在我的 LoginModule 的 createIdentity 方法中 我添加了以下代码 HashMap
  • 鼠标输入时反应显示按钮

    我有一个反应组件 它包含如下方法 mouseEnter console log this is mouse enter render var album list const albums this props if albums user
  • 我在 apache 中使用乘客 for Rails 时收到 403 错误

    我已经安装了所需的工具 并遵循了几个教程 试图让乘客做出回应 我可以访问公共文件夹 public 500 html 或 422 hml 中的静态文件 昨天我通过虚拟主机进入 发现一些乘客错误 但一段时间后 托管重新启动了服务 从那时起我就无
  • Keycloak:获取 JSON 格式的授权代码?

    我们正在开展一个学生项目 我们的目标是实现用户可以通过Keycloak使用x509证书进行授权 实际上 我们不能继续接收授权代码以将其交换为令牌请求 基本上 我们发送授权码请求并通过 URL 参数接收授权码 但我们更希望接收 JSON 格式
  • 分配函数后如何删除 onmouseout 事件?

    我有一个问题 我正在为 onmouseout 事件分配一个函数 但运行该事件后 我需要将其删除 将非常感谢您的帮助 这取决于你的代码 如果你用 d3 这样做 那么你可以说 在 onmouseout 事件函数中 element on mous
  • java中wav文件转换为字节数组

    我的项目是 阿塞拜疆语音的语音识别 我必须编写一个程序来转换wav文件到字节数组 如何将音频文件转换为byte 基本上如第一个答案中的片段所描述 但不是BufferedInputStream use AudioSystem getAudio
  • Qt:将拖放委托给子级的最佳方式

    我在 QWidget 上使用拖放 我重新实现了 DragEnterEvent dragLeaveEvent dragMoveEvent 和 dropEvent 效果很好 在我的 QWidget 中 我有其他 QWidget 子级 我希望它们
  • Python:Factory Boy 生成对象创建时指定长度的列表

    我正在尝试使用 Factoryboy 在创建时指定长度的对象中创建一个列表 我可以创建列表 但由于提供的长度 大小的惰性性质 每次尝试创建具有指定长度的列表都会导致问题 这是我到目前为止所拥有的 class FooFactory facto
  • 何时引发 Window.SourceInitialized 事件

    我能保证Window SourceInitialized事件总是会在Window Loaded事件 我需要HwndSource在我的中进一步处理的对象Window Loaded 事件处理程序我不确定到那时这是否总是可用 以下是您可以预期的事
  • 如何在多个工作表上运行脚本,Google Sheets

    我有一个脚本 想在 Google 工作表中的特定选项卡上运行 但不一定在所有选项卡上运行 我尝试执行两个不同名称的脚本 但只有最后一个保存的脚本会运行 如何编写此脚本以在特定选项卡上运行 这是我的开始脚本 function onEdit v