Могу ли я заменить URL-ссылку указанным c текстом при использовании Google Script для кода getEditResponeURL? - PullRequest
0 голосов
/ 28 февраля 2020

Я использовал приведенный ниже код для размещения URL-адреса формы Google в электронной таблице, но я хотел бы знать, могу ли я заменить URL-адрес, который может быть очень длинным, на текст гиперссылки 'EDIT FORM'.

var formURL = 'https://docs.google.com/forms/d/(MY CODE)/viewform';
var sheetName = 'Responses';
var columnIndex = 8 ;

function getEditResponseUrls() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  var data = sheet.getDataRange().getValues();
  var form = FormApp.openByUrl(formURL);
  for(var i = 2; i < data.length; i++) {
    if (data[i][0] != '' && data[i][columnIndex-1] == '') {
      var timestamp = data[i][0];
      var formSubmitted = form.getResponses(timestamp);
      if (formSubmitted.length < 1) continue;
      var editResponseUrl = formSubmitted[0].getEditResponseUrl();
      sheet.getRange(i+1, columnIndex).setValue(editResponseUrl);
    }
  }
}

1 Ответ

0 голосов
/ 02 марта 2020

Чтобы добиться желаемого, вам нужно внести следующие изменения в код:

var editResponseUrl = formSubmitted[0].getEditResponseUrl();
var formula = '=HYPERLINK('+'"'+editResponseUrl+'"'+',"EDIT FORM")';
sheet.getRange(i+1, columnIndex).setFormula(formula);

Приведенный выше фрагмент использует формулу =HYPERLINK() в Sheets для создания гиперссылки. editResponseUrl с текстом EDIT FORM. Впоследствии эта формула используется с помощью метода setFormula() в скрипте Apps.

Ссылка

...