Apps Script: как получить гиперссылку из ячейки, где нет формулы гиперссылки - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть лист, где гиперссылка установлена ​​в ячейке, но не через формулу.При щелчке по ячейке в строке fx отображается только значение.

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

Я вижу гиперссылку, как вы можете видеть на картинке, но ее нет в формуле / строке валют.

enter image description here

Как получить гиперссылку на эту ячейку с помощью скрипта Apps или любой формулы?

1 Ответ

0 голосов
/ 20 декабря 2018

Когда файл Excel, включая ячейки с гиперссылками, конвертируется в электронную таблицу Google, такая ситуация также видна.В моем случае я получаю URL-адреса с помощью API Sheets.Пример сценария выглядит следующим образом.Я думаю, что может быть несколько решений.Поэтому, пожалуйста, подумайте об этом как об одном из них.

Когда вы используете этот скрипт, пожалуйста, включите Sheets API в Advanced Google Services и консоли API.О том, как включить API Sheets, можно узнать по здесь .

Пример сценария:

var spreadsheetId = "### spreadsheetId ###";
var res = Sheets.Spreadsheets.get(spreadsheetId, {ranges: "Sheet1!A1:A10", fields: "sheets/data/rowData/values/hyperlink"});
var sheets = res.sheets;
for (var i = 0; i < sheets.length; i++) {
  var data = sheets[i].data;
  for (var j = 0; j < data.length; j++) {
    var rowData = data[j].rowData;
    for (var k = 0; k < rowData.length; k++) {
      var values = rowData[k].values;
      for (var l = 0; l < values.length; l++) {
        Logger.log(values[l].hyperlink) // You can see the URL here.
      }
    }
  }
}

Примечание:

  • Пожалуйста, установите spreadsheetId.
  • Sheet1!A1:A10 - образец.Пожалуйста, установите диапазон для вашей ситуации.
  • В этом случае каждый элемент rowData соответствует индексу строки.Каждый элемент values соответствует индексу столбца.

Ссылки:

Если это не то, что вы хотите, пожалуйста, скажите мне.Я хотел бы изменить его.

...