Google表格脚本,复制并替换现有工作表

时间:2016-06-27 23:35:39

标签: google-apps-script google-sheets

过去几周我一直在寻找并且无法找到这个剧本。我想要做的是找出一种方法让我将Google Sheets主文件上的图片日历复制到我管理的另一个Google表格文件中。每当主日历上有更新时,我都会喜欢自动更新我管理的其他Google表格文件。现在我必须复制粘贴所有内容,重新格式化和重新导入图像。我确实找到了一个有点有效的脚本,但它有一些问题导致它同样有用。

该脚本是一个copyTo脚本,它允许我复制一张标题为" Pictorial Calendar"从主Google表格文件(称为"主日历")到另一个Google表格文件(称为"我的日历")。我甚至设置了一个触发器,允许脚本在我进行编辑时运行。

然而,它不断创作标题为" Pictorial Calendar 1" " Pictorial Calendar 2"等)我无法弄清楚如何使脚本替换现有的工作表而不是创建新的工作表。

我也希望能够将重复的表单更改为仅仅被称为“#34; Pictorial Calendar"在"我的日历"文件。我使用的脚本是:

function copyMasterCalendar() {
 var source = SpreadsheetApp.getActiveSpreadsheet();

 var sheet = source.getSheets()[2];

 var destination = SpreadsheetApp.openById("1exiUWVypFpYeHMkXHO3sMUTGupiC2gQjZIF0Ss44-pU");

 sheet.copyTo(destination);
}

非常感谢任何和所有帮助!谢谢!

1 个答案:

答案 0 :(得分:0)

如果我理解你,请试试这个...

function copyMasterCalendar() {
  var source = SpreadsheetApp.getActiveSpreadsheet(),
      sheet = source.getSheetByName('Pictorial Calendar'),
      destination = SpreadsheetApp.openById("1exiUWVypFpYeHMkXHO3sMUTGupiC2gQjZIF0Ss44-pU"),
      destSheet = destination.getSheetByName('Pictorial Calendar'),
      copydSheet = sheet.copyTo(destination);
  copydSheet.getDataRange().copyTo(destSheet.getDataRange());
  destination.deleteSheet(copydSheet);
}