Apps脚本:如何从没有公式的单元格中获取超链接

问题描述 投票:5回答:1

我有一个工作表,其中在单元格中设置了超链接,但是不通过公式。单击单元格时,在“ fx”栏中,它仅显示该值。

我在网上搜索,但到处都是,信息是使用getFormula()提取超链接。

但是就我而言,根本没有设置公式。

我可以看到超链接,就像在图像中看到的那样,但是在“ formula / fx”栏中没有。

enter image description here

如何使用Apps脚本或任何公式获取该单元的超链接?

google-apps-script google-sheets hyperlink cell google-sheets-formula
1个回答
4
投票

将包含带有超链接的单元格的Excel文件转换为Google Spreadsheet时,也可以看到这种情况。就我而言,我使用Sheets API检索网址。示例脚本如下。我认为可能有几种解决方案。因此,请考虑其中之一。

使用此脚本时,请在Advanced Google Services和API控制台上启用Sheets API。您可以在here中了解有关如何启用Sheets API的信息。

示例脚本:

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的每个元素对应于列的索引。

参考:

如果这不是您想要的,请告诉我。我想修改它。

© www.soinside.com 2019 - 2024. All rights reserved.