Проверьте, какие листы в настоящее время просматриваются в вашей таблице - PullRequest
1 голос
/ 01 мая 2020

Чтобы кратко объяснить проблему, в электронной таблице есть определенные листы, которые должны постоянно скрываться. Хотя их иногда нужно открывать, чтобы изменить некоторые данные на них. Проблема в том, что в электронной таблице есть несколько соавторов, раздражаемых людьми, которые оставляют эти листы открытыми и не прячут их снова после того, как они готовы.

У меня на листе много материалов, автоматизированных в течение мелкого цикла так или иначе, мой первый подход состоял в том, чтобы просто скрывать их каждый цикл, если они были оставлены открытыми. Проблема в том, что hideSheet () образно удаляет лист из вашей руки, даже если вы активно просматриваете его, чего не должно быть.

Я знаю, что есть такие функции, как getActiveSheet (), и после некоторого тестирования я видел, что эта функция, если вы запускаете ее для себя, возвращает лист, который вы просматриваете в данный момент (как я сам) Я просматриваю).

Моя идея преодолеть проблему, заключающуюся в том, что функция hideSheet () также закрывает просматриваемый лист, заключалась в том, чтобы проверить, активен ли данный лист для кого-либо в электронной таблице. Дело «я», очевидно, работает здесь, так как я могу просто проверить, рассматриваю ли я лист как ящик для его скрытия или нет.

Короче говоря, у кого-нибудь есть идеи, как получить список листов? которые в настоящее время просматриваются или как будто они открыты для других людей?

Или, если нет возможности ответить, кто-нибудь знает, как я могу гарантировать, что листы будут повторно перетянуты на регулярной основе без проблем что я могу просто выбросить кого-то из листа, пока он еще открыт?

1 Ответ

1 голос
/ 01 мая 2020

Попробуйте change устанавливаемый триггер.

Установляемый change триггер запускается, когда пользователь изменяет структуру самой электронной таблицы - например, добавляя новый лист или удаляя столбец .

Может быть вызвано показом / скрытием листа. Если это так, ваш сценарий может регистрироваться при показе листа, а затем сделать что-то подобное опросу активного листа при редактировании / изменении электронной таблицы и, если активный лист не совпадает, скрыть показанный лист.

Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...