Как узнать порядок создания листов? - PullRequest
1 голос
/ 05 ноября 2019

Это важно, потому что порядок выполнения основан на первом созданном листе и последнем созданном листе, что обычно не является проблемой, но является проблемой для циклических ссылок. Очевидно, что я могу вставить что-то в имя, чтобы напомнить мне, но, похоже, нет никакого шаблона для номера gid, и поэтому у меня нет никакого способа узнать для уже созданных электронных таблиц с именами пользовательских листов без тщательного тестирования формул круговой ссылки.

Это не часть моего вопроса, но вот пример, демонстрирующий, почему это так важно:

Step 1) File->Spreadsheet Settings->Calculation->Iterative Calculation(On)->Max number of iterations(1)
Step 2) Set up the following test formulas
Cell A1 =A1+1
Cell B1 =A1
Cell A2 =B2
Cell B2 = B2+1

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

1 Ответ

0 голосов
/ 06 ноября 2019

Самое быстрое решение, удовлетворяющее вашему запросу, - это использование метода getSheets для получения массива, в котором каждый лист отображается в том же порядке, что и лист в пользовательском интерфейсе. Следите за ними, поскольку при перемещении одного листа в пользовательском интерфейсе массив не будет отражать истинный порядок создания.

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

...