GAS SpreadsheetApp copyTo Contentsonly错误

时间:2014-10-22 16:28:41

标签: google-apps-script copy google-sheets runtime-error paste

我正在尝试运行以下代码行代码(取自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()来获取一个工作表时,我仍然遇到了同样的错误。

1 个答案:

答案 0 :(得分:3)

copyTo旨在复制另一个范围,我猜你得到的错误是正常的......

您可以使用getValues() / setValues()

获得所需的结果
var values = sheet.getRange("D1:D").getValues();
sheet.getRange("D1:D").setValues(values);

编辑:

按照亚当的评论(谢谢),似乎copyTo方法也适用于这种情况,如果不适合你,请将我的建议作为解决方法(即使它是可能只是暂时的问题)