如何将宏应用于Google表格中的一个电子表格中的所有表格

时间:2019-03-17 21:39:32

标签: google-apps-script google-sheets google-sheets-api google-sheets-macros

我在Google表格中有一个记录的宏,用于我的电子表格中的一个表格。我想编辑脚本,以便将其应用于电子表格中的所有工作表(这样就不必在每个工作表中单独运行记录的宏)。我已经看过有关如何在Excel中执行此操作的文章,但是可以在Google表格中看到吗?

2 个答案:

答案 0 :(得分:0)

您确定它在其他纸张上不起作用?记录的宏通常使用活动工作表而不是命名工作表。

答案 1 :(得分: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();   
  });
};

从工具->脚本编辑器-> SelectFunction(ClearAllVisibleSheets)中选择GoogleSpredsheets中的ClearAllVisibleSheets函数,然后运行/或调试,您将看到此工作。

P.S:如果这可以满足您的需求,请记住投票并接受作为答复:)。