- Вы хотите поместить формулу с помощью пользовательской функции.
- Вы хотите добиться этого с помощью Google Apps Script.
Если мое понимание верно, как насчет этот ответ? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Точки модификации:
- К сожалению, пользовательская функция не может задать формулу. Я думаю, что это спецификация стороны Google. Таким образом, в вашем случае необходимо использовать обходной путь.
- В качестве обходного пути я хотел бы предложить поместить формулу с использованием триггера события OnEdit.
- В этом случае, когда
=jiraHyperlinks(reference)
помещается в ячейку, значение ячейки преобразуется в формулу с помощью триггера события OnEdit.
Пример сценария:
function onEdit(e) {
var value = e.value.split("\"");
if (/^=jiraHyperlinks\(/.test(value[0])) {
var reference = value[1];
e.range.setFormula('=HYPERLINK("https://jira.fanatics.com/browse/' + reference + '", "' + reference + '")');
}
}
Использование:
- Чтобы запустить вышеуказанный сценарий, после того, как сценарий скопирован и вставлен в редактор сценариев, и сохраните его, пожалуйста, введите формулу
=jiraHyperlinks("sample")
в клетку. Таким образом, =jiraHyperlinks("sample text")
преобразуется в =HYPERLINK("https://jira.fanatics.com/browse/sample", "sample")
.
Примечание:
- Это простой пример сценария для тестирования этого обходного пути. Сценарий может потребоваться изменить в зависимости от ситуации. Пожалуйста, будьте осторожны.
Ссылки:
Если я неправильно понял ваш вопрос, и это не то направление, в котором вы хотите, я приношу свои извинения.
Редактировать:
- В этом примере сценария формула напрямую извлекается из отредактированного диапазона без использования
e.value
.
Пример сценария:
function onEdit(e) {
var range = e.range;
var value = range.getFormula().split("\"");
if (/^=jiraHyperlinks\(/.test(value[0])) {
var reference = value[1];
range.setFormula('=HYPERLINK("https://jira.fanatics.com/browse/' + reference + '", "' + reference + '")');
}
}