google-apps-script - 如何隐藏宏动画谷歌表格
问题描述
大家好,我创建了一个宏来将信息从一个选项卡复制到另一个选项卡,但是当我运行它时,它会在屏幕上显示所有步骤。有没有办法隐藏它们?
这是从宏创建的脚本:
function Step1() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('4:4').activate();
spreadsheet.getActiveSheet().getFilter().remove();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Working Shift Report'), true);
spreadsheet.getRange('A3').activate();
var currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate();
currentCell.activateAsCurrentCell();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate();
currentCell.activateAsCurrentCell();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('✔️Overview'), true);
spreadsheet.getRange('D5').activate();
spreadsheet.getRange('\'Working Shift Report\'!A3:A1000').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Working Shift Report'), true);
spreadsheet.getRange('C3').activate();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate();
currentCell.activateAsCurrentCell();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate();
currentCell.activateAsCurrentCell();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('✔️Overview'), true);
spreadsheet.getRange('E5').activate();
spreadsheet.getRange('\'Working Shift Report\'!C3:C1000').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('D4:J498').activate();
spreadsheet.getRange('D4:J498').createFilter();
spreadsheet.getRange('F4').activate();
spreadsheet.getActiveSheet().getFilter().sort(6, true);
spreadsheet.getRange('H4').activate();
var criteria = SpreadsheetApp.newFilterCriteria()
.setHiddenValues(['Yes'])
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(8, criteria);
};'''
解决方案
在您的脚本中,您专门告诉 Google 表格执行所有这些任务。由于您是从宏中记录的,因此习惯上完全按照您的计划执行操作。所有的“activate”和“setActiveSheet”只是其中的例子
如果您希望所有这些都在后台运行,您将需要重写您的代码,以便它不会执行所有选择和突出显示以及不同工作表之间的转换。我可以帮助重写它,但我不知道您的数据结构或您有哪些工作表
推荐阅读
- c# - 如何使用调试地址将 IWebDriver 附加到当前的 Web 浏览器?
- azure - 天蓝色活动目录设备管理
- mongodb - 通过(maven install)为带有mongodb的spring boot项目构建war文件时出现异常
- c# - Telerik Net Core Treeview 模板-从所选项目的输入框中获取值
- json - 用 JSON 值中的人类可读等价物更新 unix 时间戳(以毫秒为单位)
- regex - 使用 RegEx 确定函数调用的数量
- javascript - 仅在survey.js中通过api调用获取问题和选项
- angular - RxJS 使用 shareReplay 缓存和刷新
- azure - Azure APIM 入站策略忽略属性名称的大小写
- nativescript - 无法在 iOS 模拟器上运行 appium 测试 - 错误:无法读取未定义的属性“statBarHeight”