如何清除其他Google表格工作簿上特定或一定范围的单元格?

时间:2019-12-23 14:45:32

标签: google-apps-script google-sheets

我有两个工作簿。工作簿A和工作簿B。

我想在工作簿A上有一个菜单项(或按钮),以清除工作簿B上特定单元格或单元格区域的内容。

到目前为止,在工作簿A上,我有一个很好的脚本,该脚本只能清除工作簿A本身上的一个单元格。

  function onOpen() {
    SpreadsheetApp.getUi()
   .createMenu('Reset')
   .addItem('Based on a permanent ranges address list', 'userActionResetByRangesAddresses')
   .addToUi();
   }
  function clearRange1() { 
    var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
    sheet.getRange('D2').clearContent();
   }

因此,此脚本在工作簿A上添加了一个菜单项,并清除了工作簿A上单元格D2的内容。

我希望菜单项位于工作簿A上,但清除工作簿B上的单元格。因此,基本上,我使用工作簿A上的菜单项,它拉出工作簿B上的Sheet1并清除该单元格。

我已经对此进行了一段时间的破解,感到很沮丧。 :)

谢谢!

1 个答案:

答案 0 :(得分:2)

您需要修改

var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');

var sheet = SpreadsheetApp.openById("ID OF WORKBOOK B").getSheetByName('Sheet1');

请参见documentation

现在,您将可以将脚本应用于任何工作簿-只需粘贴其ID即可。