我正在尝试运行以下代码行代码(取自https://developers.google.com/apps-script/reference/spreadsheet/range#copyTo(Range,Object)):
sheet.getRange("D1:D").copyTo(sheet.getRange("D1"), {contentsOnly:true});
我收到错误"我们很抱歉,发生了服务器错误。请稍等一下再试一次。"
如果我运行没有contentsOnly位的代码,它运行没有问题:
sheet.getRange("D1:D").copyTo(sheet.getRange("D1"));
我正在尝试复制>粘贴值,因为我想删除单元格中的公式。
我认为可能是我有一个Spreadsheet而不是Sheet(我使用的是openById,而该示例使用了getActiveSheet),但是当我添加getSheetbyName()来获取一个工作表时,我仍然遇到了同样的错误。
答案 0 :(得分:3)
copyTo
旨在复制另一个范围,我猜你得到的错误是正常的......
您可以使用getValues()
/ setValues()
var values = sheet.getRange("D1:D").getValues();
sheet.getRange("D1:D").setValues(values);
按照亚当的评论(谢谢),似乎copyTo
方法也适用于这种情况,如果不适合你,请将我的建议作为解决方法(即使它是可能只是暂时的问题)