Google Sheet. App Script. Чтение и запись в диапазоны и ячейки
Создадим пользовательскую функцию rangeReadWrite().
function rangeReadWrite() {
}
Объект SpreadsheetApp.Создание
Для работы с таблицами Google создадим объект SpreadsheetApp:
var app = SpreadsheetApp;
Объект ActiveSpreadsheet.Создание
создадим объект ActiveSpreadsheet: - активная таблица Google
var app = SpreadsheetApp;
Объект ActiveSheet.Создание
создадим объект ActiveSheet: - активный лист таблицы Google
var activeSheet = ss.getActiveSheet();
getRange.Запись в диапазон ячеек
метод getRange, позволяет работать (считывать и записывать информацию), как с одной ячейкой, так и с диапазоном ячеек.
запишем строку "Первый результат!" в ячейку с адресом "D2"
activeSheet.getRange("D2").setValue("Первый результат!");
выполним нашу функцию, получим:
Адресацию к ячейке "D2", можно сделать другим способом (по номеру строки и столбца):
activeSheet.getRange(2,4).setValue("Первый результат!");
результат тот же
запишем в диапазон "D2:E3"
activeSheet.getRange("D2:E3").setValue("Первый результат!");
выполним нашу функцию, получим:
теперь обратимся к диапазону другим способом
activeSheet.getRange(2,4,2,2).setValue("Первый результат!");
выполним нашу функцию, получим:
можно ещ так работать с диапазоном
activeSheet.getRange(2,2,3).setValue("Первый результат!");
выполним нашу функцию, получим:
Теперь считаем данные из ячейки с адресом "D2" в переменную str
str = activeSheet.getRange("D2").getValue();
и запишем его в "E2"
activeSheet.getRange("E2").setValue(str);
выполним нашу функцию, получим:
Книга. Google Apps Script – Сценарии приложений Google. Использование.
https://docs.google.com/document/d/1fQvUBoU1edOVSUtZPIO0fYJ3fmQqiuAiwNtVfUyuc6M/edit?usp=sharing
Привет!
ОтветитьУдалитьСпасибо.
Метод получает диапазон ячеек.
Как обратиться к листу, на котором этот диапазон?
В Excel для этого использую метод Parent.
Добрый день! Если я правильно понял, то Вас интересует класс Class Spreadsheet https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=ru. В вышеуказанном примере activeSheet является листом.
ОтветитьУдалитьЗдравствуйте, не могу понять почему выдаёт ошибку такой код
ОтветитьУдалитьvar sheetForma = ss.getSheetByName('Ввод расходов >');
var countroww = sheetForma.getLastRow();
var range = sheetForma.getRange('A4:F' & countroww);
ошибка range not found
Добрый день! Проверьте наименование 'Ввод расходов >', возможно у вас должно быть 'Ввод расходов'
ОтветитьУдалитьvar range = sheetForma.getRange('A4:F' & countroww); пришлось переписать (4,1 , countroww-4, 5) - тогда заработало
УдалитьЗдравствуйте. При работе программы с гиперссылками в самом конце, когда программа уже прошлась по всем документам и проработала их, появляется ошибка - нет доступа к документу, но к какому документу, если весь код уже пройден? Может быть что-то подскажете...
ОтветитьУдалить