Написах скрипт, който възнамерява да изчисти съдържанието на електронна таблица в Google Таблици и да копира и постави съдържанието на друг лист.
Листът, който трябва да бъде изчистен, се нарича „NEW_SHEET“, а този, върху който трябва да се копира, се нарича „База данни“.
По някаква причина скриптът не работи в момента. Нищо не се случва, когато го стартирам. Освен това в момента използвам .getActiveRange
, за да избера диапазона за изчистване. Бих искал обаче това да са колони от A до AC и само до последния ред с данни в него.
Това е кодът, който използвам:
function importDB() {
//Delete content of New Sheet
var sh1 = SpreadsheetApp.openById('SHEET_ID').getSheetByName('NEW_SHEET')
var range1 = sh1.getActiveRange()
range1.clearContent()
//Copy new database data
var sh = SpreadsheetApp.openById('SHEET_ID').getSheetByName('Database')
var range = sh.getDataRange();
var data = range.getValues();
var ts = SpreadsheetApp.openById('SHEET_ID').getSheetByName('NEW_SHEET')
ts.setValues(data)
}
getActiveRange
сте опитвали? Има няколко, които трябваше да откриете по време на проучването преди въпроса. Вие също не посочвате как се извиква тази функция. - person tehhowch   schedule 03.04.2018getDataRange
, което също не работи. Това е само функциятаimportDB ()
. Благодаря ти! - person franciscofcosta   schedule 03.04.2018setValues
повикване трябва да бъде наRange
обект, но се опитвате да го извикате отSheet
обект. Бих очаквал тук да бъде изведена грешка. - person tehhowch   schedule 03.04.2018