В проекте Google Apps Script каждая функция должна иметь уникальные имена, иначе будет выполняться только последняя функция в том порядке, в котором они были загружены во время выполнения.Итак, во-первых, формулы гиперссылок никогда не пишутся.
С другой стороны, как упоминалось в в предыдущем ответе , нет необходимости иметь отдельные функции для записив каждом столбце одна функция может заполнить оба столбца одновременно.
В этой строке кода:
names.push([str]);
Аргумент por push
- это массив, имеющий одно значение.Замените этот аргумент массивом, включающим значения для обоих столбцов.Чтобы внести минимальные изменения в первую функцию, переименуйте переменную str
, добавьте вторую строку кода для второго столбца с правильным и уникальным именем переменной, т.е. (как было показано в предыдущем ответе):
url='=hyperlink("' + f.getUrl() + '")';
name='=" + f.getName() + "';
names.push([url,name]);
И, наконец, добавьте число столбцов к последнему оператору
s.getRange(c.getRow(),c.getColumn(),names.length, 2).setFormulas(names);
Не забудьте удалить вторую функцию с именем myFunction