我想有一个按钮,当我使用Google脚本按下它时,可以还原我的Google工作表的特定版本。
原因是我想清除我的Google工作表,但要设置与原始版本相同的格式和所有内容,以防其他人更改单元格的格式。
虽然我可以添加一个按钮,然后在某些输入任何数据之前将版本还原为原始版本。
关于如何使用脚本执行此操作的任何想法?(我愿意接受建议)
谢谢!
我认为您无法使用Google脚本还原版本,因为运行脚本的过程始终会更新当前版本。
您可以编写一个脚本,清除所有可编辑的单元格(并将所有格式设置为默认格式)并将其添加到自定义菜单,以便您可以通过按按钮来重置工作表。
这可能会达到您想要的结果。
这是我以前使用过的,但显然是针对我的需求的。
function clear() {
SpreadsheetApp.getActiveSpreadsheet().toast('Deleting');
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getDataRange();
range.clear();
sheet.getRange(1,1).setValue('Copy and paste Data here')
.setBackground('yellow');
var maxRows = sheet.getMaxRows();
var maxColumns = sheet.getMaxColumns();
sheet.setFrozenRows(0);
sheet.deleteColumns(2,maxColumns-1);
sheet.deleteRows(2,maxRows-1);
sheet.setColumnWidth(1, 100)
SpreadsheetApp.getActiveSpreadsheet().toast('Deleted');
}
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Custom Menu')
.addItem('Clear','clear')
.addToUi();
}
一个更具体的示例可能是:
function clear() {
SpreadsheetApp.getActiveSpreadsheet().toast('Deleting');
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
sheet.getRange('A26:E30').clearContent();
sheet.getRange('A33:E37').clearContent();
sheet.getRange('A40:E44').clearContent();
sheet.getRange('D2:D3').clearContent();
sheet.getRange('D5:D9').clearContent();
sheet.getRange('D12:D16').clearContent();
sheet.getRange('D18').clearContent();
sheet.getRange('A19').setValue(false);
sheet.getRange('C19').setValue(false);
}
我可能错过了一些部分,因此您需要适应您的用法。如果要使用已经创建的清除按钮,则可以右键单击它并为其分配清除功能,以便每次单击清除时,它将执行上述脚本。这可能不是最优雅的解决方案,但它可以满足您的需求。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句