#google-apps-script #google-sheets
Вопрос:
Я хочу сделать свой собственный «ИМПОРТ» из сценария приложений, но я получаю ошибку, в которой говорится «Исключение: Недопустимый аргумент: URL» в строке 4.
Я пытался использовать «openById», но он тоже не работает.
Если это не работает, как я могу сделать свой собственный «ИМПОРТ»?
Это и есть код:
function copypaste(sourcelink,sourcesheet,sourcerange,destilink,destisheet,destirange) {
//Source link
var ssraw = SpreadsheetApp.openByUrl(sourcelink);
var sheetraw = ssraw.getSheetByName(sourcesheet);
var range = sheetraw.getRange(sourcerange);
var data = range.getValues();
//Destination
var ss = SpreadsheetApp.openByUrl(destilink);
var sheet = ss.getSheetByName(destisheet);
// transfer to desitnation range
sheet.getRange(destirange).clearContent();
sheet.getRange(destirange).setValues(data);
}
function run(){
copypaste("https://docs.google.com/spreadsheets/d/1JCMl8Qna3k8_cAa5kqNN924Pw3UVTa1_U1XeanGFhmU/edit#gid=0",
"Sheet1",
"A1",
"https://docs.google.com/spreadsheets/d/10Zw7OSgBnIFDhjh16mRY8zDi6QgDU0ecJjyOYQP-xtU/edit#gid=0",
"Sheet1",
"A2")
}
Ответ №1:
Это работает на меня. Я использовал идентификаторы и openById():
function copypaste(sourcelink, sourcesheet, sourcerange, destilink, destisheet, destirange) {
//Source link
var ssraw = SpreadsheetApp.openById(sourcelink);
var sheetraw = ssraw.getSheetByName(sourcesheet);
var range = sheetraw.getRange(sourcerange);
var data = range.getValues();
//Destination
var ss = SpreadsheetApp.openById(destilink);
var sheet = ss.getSheetByName(destisheet);
// transfer to desitnation range
sheet.getRange(destirange).clearContent();
sheet.getRange(destirange).setValues(data);
const end = 'is near';
}
function testtest() {
copypaste("source id","Sheet1","A1:J21","destination id",
"Sheet1","A1:J21")
}