Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
22.09.2020, 15:20:58

Войти
Интересные и полезные статьи по работе с Excel и VBA можно найти в разделе ХИТРОСТИ
31 447 Сообщений в 5 047 Тем от 10 061 Пользователей
Последний пользователь: choirhinconling
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по работе в Google-таблицах
| | |-+  Гугл таблица, как скриптом запустить триггер
Страниц: [1]   Вниз
Печать
Автор Тема: Гугл таблица, как скриптом запустить триггер  (Прочитано 1309 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Tow
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 17


Просмотр профиля E-mail
« : 13.02.2020, 10:57:38 »

Здравствуйте, подскажите мне пожалуйста. Есть ли возможность запустить скриптом триггер? Ситуация, такая скриптом копирую информация с "листа1" с " таблицы1", в "листа2" с " таблицы2", создал триггер на "редактирование" в "таблицы2", но он не реагирует на копирование скрипта с "таблицы1", создал триггер н изменении тоже самое. А если скопировать в ручную, то срабатывает. Если создавать триггер на время, то нужно чтобы срабатывал каждую минуту, в моем случае не подходит, т.к будет  около 30 триггеров, они могут запускаться одновременно, в таком случае будет каша.  Я так понял триггер не видит работу скрипта, а как сделать, чтобы заметил???
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +450/-0
Офлайн Офлайн

Сообщений: 5 307



Просмотр профиля WWW
« Ответ #1 : 13.02.2020, 11:25:00 »

Триггеры вроде нормально работали всегда, но вот при внесении изменений скриптами они насколько знаю не срабатывают. Можно попробовать идти от обратного: зачем Вам запускать триггер скриптом, если можно в скрипте все тоже самое и прописать? А триггер будет срабатывать только при изменении в ручном режиме(что логично)?
А так само название триггера в скрипте: onEdit(e)
e - объект, вызвавший триггер.
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Tow
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 17


Просмотр профиля E-mail
« Ответ #2 : 13.02.2020, 11:56:04 »

У меня "таблица2" связующая с "таблицой3". Смысл в том, что сотруднику нужно отправить информацию из "таблица1" в "таблица3", но доступ к "таблица3" у него нет, чтобы он не смог увидеть все данные в ней. Поэтому у него есть доступ к "таблица2", а там уже работает триггер. Получается так с "таблица1" скриптом в "таблица2" триггером в "таблица3". А вот здесь можно по подробнее может ко мне подойдет "Можно попробовать идти от обратного: зачем Вам запускать триггер скриптом, если можно в скрипте все тоже самое и прописать?".
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +450/-0
Офлайн Офлайн

Сообщений: 5 307



Просмотр профиля WWW
« Ответ #3 : 13.02.2020, 17:14:44 »

А вот здесь можно по подробнее
даже не знаю куда подробнее...Просто вместо триггера при записи скриптом чего-то в "таблица 2" дополняете этот скрипт действиями по записи в "таблица3".
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Tow
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 17


Просмотр профиля E-mail
« Ответ #4 : 13.02.2020, 19:04:44 »

Ну тогда нужно сотруднику давать доступ к "таблица3", а этого не нужно делать. Я же на писал "но доступ к "таблица3" у него нет, чтобы он не смог увидеть все данные в ней.", или я вас не правильно понимаю???
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +450/-0
Офлайн Офлайн

Сообщений: 5 307



Просмотр профиля WWW
« Ответ #5 : 14.02.2020, 08:55:12 »

У Вас в Таблица3 данные вносится должны скриптом? Если да - то зачем сотруднику вообще знать, что она есть? Вы можете внести туда данные скриптом без наличия доступа к этой таблице у сотрудника?
Если нет - то и триггер не сможет, т.к. ему так же будут переданы привилегии вызывающего пользователя.
А если да - то и триггер не нужен и заносить можно напрямую скриптом(открыть им нужную таблицу, внести данные и закрыть)
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Tow
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 17


Просмотр профиля E-mail
« Ответ #6 : 15.02.2020, 16:10:13 »

Если нет - то и триггер не сможет, т.к. ему так же будут переданы привилегии вызывающего пользователя.
А если да - то и триггер не нужен и заносить можно напрямую скриптом(открыть им нужную таблицу, внести данные и закрыть)
.
Вы очень сильно ошибаетесь триггер сможет занести данные из "таблицы2"  в "таблицы3", даже если у сотрудника не будет доступа и разрешения к ней. А чтобы скриптом занести данные из "таблицы2"  в "таблицы3, нужен доступ к ней  и разрешения к ней. Я бы не запаривался, тогда с "таблицы3". На практике проверил.
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +450/-0
Офлайн Офлайн

Сообщений: 5 307



Просмотр профиля WWW
« Ответ #7 : 15.02.2020, 17:00:07 »

Как бы... Я вроде и спрашивал - можете ли Вы внести данные скриптом без наличия доступа к таблице у пользователя. Но Вы правы, ошибся в том, что если доступа нет, то триггером вносятся данные, а скриптом нет. Странно это(ведь триггер, это тот же скрипт), но все же.
Хотя что-то мне подсказывает, что возможно надо правильно скрипт написать, раз триггер при ручном внесении изменений пользователем может это сделать даже при том, что у пользователя доступ только к таблице2, а к таблице3 нет. И по сути скрипт вызывается через триггер именно пользователем без привилегий.
Как вообще делаете запрет доступа к Таблице3? Как выглядит скрипт?
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Tow
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 17


Просмотр профиля E-mail
« Ответ #8 : 15.02.2020, 19:08:22 »

Вот так:
function Copyrrrr() {
  var sss = SpreadsheetApp.openById('указывае_адресс_с_какой_таблицы_копировать');
  var ss = sss.getSheetByName('указывае_имя_с_какого_листа_копировать');
 
  var from = ss; 
  var fromValues = from.getDataRange().getValues(); 
  var fromData = fromValues

  var tss = SpreadsheetApp.openById('указывае_адресс_в_какую_таблицу_копировать');
  var ts = tss.getSheetByName('указывае_имя_в_какой_лист_копировать');
 
     
  ts.getRange(ts.getLastRow() + 1, 1, fromData.length, fromData[0].length)
    .setValues(fromData);
    }
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +450/-0
Офлайн Офлайн

Сообщений: 5 307



Просмотр профиля WWW
« Ответ #9 : 15.02.2020, 19:23:11 »

Как делаете запрет доступа к Таблице3?
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Tow
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 17


Просмотр профиля E-mail
« Ответ #10 : 15.02.2020, 19:54:56 »

Ни совсем понял вопрос. Для сотрудника никак не делаю "запрет доступа к Таблице3", да и нет такой функции запрет к таблице. Есть функция кому дать доступ к таблице. В моем случае сотрудник не знает про нее вообще. Единственное можно узнать, это зайти в скрипты "таблицы2" и там по ковыряться и найти, но опять же доступ он к ней не получит, даже если скопирует ссылку, ведь я не давал ему доступ.
« Последнее редактирование: 15.02.2020, 20:16:57 от Tow » Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru