我有两个工作簿。工作簿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并清除该单元格。
我已经对此进行了一段时间的破解,感到很沮丧。 :)
谢谢!
答案 0 :(得分:2)
您需要修改
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
到
var sheet = SpreadsheetApp.openById("ID OF WORKBOOK B").getSheetByName('Sheet1');
,
请参见documentation。
现在,您将可以将脚本应用于任何工作簿-只需粘贴其ID即可。