Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Скрипт для Гугл Таблиц. Новая запись - с пустой строки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Скрипт для Гугл Таблиц. Новая запись - с пустой строки
AlexV2020 Дата: Пятница, 14.08.2020, 18:35 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Есть вот такой код:

[vba]
Код
function doGet(e) {
var sheet = SpreadsheetApp.openById("ID таблицы");
var n=sheet.getRange("A1").getValue()+2;
var d = new Date();
sheet.getRange("A"+n).setValue(d);
sheet.getRange("B"+n).setValue(e.parameter.p1);
sheet.getRange("C"+n).setValue(e.parameter.p2);
sheet.getRange("A1").setValue(n-1);
}
[/vba]

В таблицу записываются данные из формы захвата на сайте.
Вполне рабочая тема, НО - если вручную заполнить пустую строку (звонок по телефону, например был) - скрипт перезаписывает поверх этой записи свои данные.

Я так понял, что нужно заставить скрипт выбирать каждый раз пустую строку и уже в нее вписывать новые данные.
Весь день пытаюсь это реализовать, но так ничего и не сработало.

Как это можно реализовать?


Сообщение отредактировал AlexV2020 - Пятница, 14.08.2020, 18:38
 
Ответить
СообщениеЕсть вот такой код:

[vba]
Код
function doGet(e) {
var sheet = SpreadsheetApp.openById("ID таблицы");
var n=sheet.getRange("A1").getValue()+2;
var d = new Date();
sheet.getRange("A"+n).setValue(d);
sheet.getRange("B"+n).setValue(e.parameter.p1);
sheet.getRange("C"+n).setValue(e.parameter.p2);
sheet.getRange("A1").setValue(n-1);
}
[/vba]

В таблицу записываются данные из формы захвата на сайте.
Вполне рабочая тема, НО - если вручную заполнить пустую строку (звонок по телефону, например был) - скрипт перезаписывает поверх этой записи свои данные.

Я так понял, что нужно заставить скрипт выбирать каждый раз пустую строку и уже в нее вписывать новые данные.
Весь день пытаюсь это реализовать, но так ничего и не сработало.

Как это можно реализовать?

Автор - AlexV2020
Дата добавления - 14.08.2020 в 18:35
krosav4ig Дата: Пятница, 14.08.2020, 19:17 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
var n=sheet.getLastRow()+1
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[vba]
Код
var n=sheet.getLastRow()+1
[/vba]

Автор - krosav4ig
Дата добавления - 14.08.2020 в 19:17
AlexV2020 Дата: Пятница, 14.08.2020, 19:34 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
krosav4ig, Спасибо Вам большое за такое изящное решение!
Проверил - все работает отлично
Кошелек ЯД в подписи актуальный?
 
Ответить
Сообщениеkrosav4ig, Спасибо Вам большое за такое изящное решение!
Проверил - все работает отлично
Кошелек ЯД в подписи актуальный?

Автор - AlexV2020
Дата добавления - 14.08.2020 в 19:34
krosav4ig Дата: Пятница, 14.08.2020, 20:12 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Актуальный
upd.
Спасибо, получил


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 15.08.2020, 00:00
 
Ответить
СообщениеАктуальный
upd.
Спасибо, получил

Автор - krosav4ig
Дата добавления - 14.08.2020 в 20:12
Gustav Дата: Суббота, 15.08.2020, 02:14 | Сообщение № 5
Группа: Админы
Ранг: Участник клуба
Сообщений: 2809
Репутация: 1184 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Можно еще более дерзко - вообще без n (да и без d):

[vba]
Код
function doGet(e) {
    var sheet = SpreadsheetApp.openById("ID таблицы");
    sheet.appendRow([new Date(), e.parameter.p1, e.parameter.p2]);
}
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеМожно еще более дерзко - вообще без n (да и без d):

[vba]
Код
function doGet(e) {
    var sheet = SpreadsheetApp.openById("ID таблицы");
    sheet.appendRow([new Date(), e.parameter.p1, e.parameter.p2]);
}
[/vba]

Автор - Gustav
Дата добавления - 15.08.2020 в 02:14
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!