如何使用Google脚本还原特定版本的Google工作表?

马可

我想有一个按钮,当我使用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获得带有Google脚本的特定工作表的链接?

在Google脚本的Google脚本内的特定工作表上使用onedit()触发器

如何使用Google脚本迭代所有工作表?

将脚本运行到特定工作表 - Google 工作表

如何使用脚本在工作表中提取Google工作表公式?

使用Google脚本观看多个工作表:如何简化此脚本?

在 Google Sheets 中,如何编写脚本将绘图移动到工作表上的特定位置?

Google Sheet API-使用特定的应用脚本创建工作表

如何使用 For 循环在 Google Apps 脚本中的工作表索引号上循环制表符?

如何使用 JavaScript/Google App 脚本在谷歌工作表中连续映射数组

如何使用Google App脚本从工作表名称创建字符串?

如何使用Google App脚本从另一个工作表中选择值数字?

如何告诉Google脚本在工作表中打印的位置?

如何在隐藏的工作表上运行Google Apps脚本

Google Apps 脚本:使用侧边栏创建新工作表

在 Google Sheets 中使用脚本/宏共享工作表

使用Google脚本在列表中列出工作表ID

使用脚本将网络数据导入Google工作表

仅使用值和格式复制工作表的 Google 脚本

使用脚本在 Google 工作表上隐藏不同的列?

如何使用Google脚本从Google表格中提取特定列?

Google脚本锁定如何工作?

Google Apps 脚本 - 使用特定单元格值重命名所有工作表的功能

如何使用Google API for python在特定文件夹下创建工作表?

如何使用Google Apps Scirpt为单元格设置特定的工作表索引

如何将静态时间戳脚本 Google 工作表循环到所有工作表

如何还原记录的特定版本

Google App脚本onedit仅限工作表

Google工作表脚本超时错误