我在我的电子表格中的一张表中的谷歌表中有一个录制的宏。我想编辑脚本,使其适用于电子表格中的所有工作表(这样我就不必分别在每个工作表中运行记录的宏)。我已经看过有关如何在 Excel 中执行此操作的文章,但在 Google 表格中是否可行?
2 回答
0
你确定它在其他工作表上不起作用吗?录制的宏通常使用活动工作表而不是命名工作表。
于 2019-03-18T23:16:16.963 回答
0
虽然我迟到了 9 个月才回答这个问题,但这里有一个对您的问题的有效答案,其中有一个示例,使用另一个名为 ClearActiveSheet 的函数清除所有可见工作表。如果有人仍在寻找如何做到这一点,这应该给出一个想法。
function ClearActiveSheet() {
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getActiveSheet();
sheet.getRange('A1').activate();
sheet.clear();
};
function ClearAllVisibleSheets() {
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
sheets.forEach(function(sheet) {
//You would need to make this the current active sheet, so that you can call the ClearActiveSheet function that works on active sheet
sheet.activate()
// Now since you have this sheet activated, you can call the function to clear the active sheet
ClearActiveSheet();
});
};
从 Tools-> ScriptsEditor -> SelectFunction (ClearAllVisibleSheets) 中选择 GoogleSpredsheets 中的 ClearAllVisibleSheets 函数并运行/或调试,您将看到它完成了这项工作。
PS:如果这满足您的需求,请记住投票并接受此作为答案:)。
于 2020-01-08T16:31:57.443 回答