我正在尝试将范围从一张纸复制到另一张纸(同时保留公式)。我写了一个简单的脚本使用copyTo
:
function copyRangeAcrossSheets(source_sheet,source_range,target_sheet,target_range) {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var source_sheet = spreadsheet.getSheetByName(source_sheet);
var target_sheet = spreadsheet.getSheetByName(target_sheet);
var source_range = source_sheet.getRange(source_range);
var target_range = target_sheet.getRange(target_range);
source_range.copyTo(target_range);
}
我称之为如下:
=copyRangeAcrossSheets("TEST_source","A1:A3","TEST_target","A1:A3")
我收到以下错误:
您无权调用 copyTo
我做了一些挖掘,发现函数必须使用特殊触发器(可安装)才能修改另一个文件。但是在这里我正在修改同一个文件。
Q1:为什么copyTo
在这里失败?
Q2:如何在无需定义可安装触发器的情况下解决该问题?(我只想在保留公式的同时复制范围)