是否有一种简单的方法来获取使用google Sheets API的google sheet中单元格的底层URL?

我正在使用Google Sheets和Slides APIs从一个表格中读取数据并创建Google幻灯片。

一些单元格包含链接,我希望能够在幻灯片中显示它们作为链接。 有没有办法使用Google Sheets API获取单元格的超链接?

我得到的单元格中的值由以下。

var ss = SpreadsheetApp.openByUrl(dataSpreadsheetUrl); 
var sheet = ss.getSheetByName('countryData'); 
// Use the Sheets API to load data, one record per row. 
var values = sheet.getRange('A2:W10').getValues(); 
for (var i = 0; i < values.length; ++i) { 
    var row = values[i]; var country = row[0];
    //name in column 1 
    Logger.log(country);
} 

是否有一种方法在值上,我可以调用,以获得该特定单元格的超链接? (例如,对于值阿富汗,超链接的表是BBC页面的Afg。)

我使用下面的方法来替换幻灯片中的标记国家,使用.NET技术。shape.getText().replaceAllText('{{country}}',country);

解决方案:

从你的附加信息中,我看到你使用的是Apps脚本。

要获得国家的链接的网址,你可以使用以下方法 Range.getFormula() 方法。但是,你需要在你的工作表中使用公式。=HYPERLINK(url, [linkLabel]) 然后,你可以用下面的代码为例,获得Apps脚本的网址。

function getHyperlinkUrl(range) {
  // The range should use the sheets formula: `=HYPERLINK(url,[linkLabel])`
  // Example: HYPERLINK("http://www.venezuela.com/", "Venezuela")
  
  var url = range.getFormula().split('"')[1];
  Logger.log(url);
  // Output: http://www.venezuela.com/
}

用该值你可以建立一个 textRun 对象,如下面。

"textRun": {
    "content": "<YOUR-HYPERLINK-FROM-SHEETS>",
    "style": {
        "foregroundColor": {
            "opaqueColor": {
                "themeColor": "HYPERLINK"
            }
        },
        "link": {
            "url": "<YOUR-HYPERLINK-FROM-SHEETS>"
        },
        "underline": true
    }

并将其插入到幻灯片中,通过使用 presentations.batchUpdate 方法。


参考文献。

给TA打赏
共{{data.count}}人
人已打赏
未分类

未使用Invoke-Expression参数

2022-9-8 21:16:36

未分类

在ChartJs.Blazor中发送数据到ChartJsLineChart。

2022-9-8 21:16:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索