问题描述
大家好,我创建了一个宏来将信息从一个选项卡复制到另一个选项卡,但是当我运行它时,它会在屏幕上显示所有步骤。有没有办法隐藏它们?
这是从宏创建的脚本:
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(),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”都只是例子
如果您希望所有这些都在后台运行,您将需要重写您的代码,以便它不会在不同工作表之间执行所有选择、突出显示和转换。我可以帮助重写它,但我不知道你的数据结构或你有什么表