Google 表格的HYPERLINK 公式可让您在电子表格中插入超链接。该函数有两个参数:
- 链接的完整 URL
- 链接的描述或锚文本
URL 和锚文本可以指定为字符串或单元格引用。
如果使用HYPERLINK
函数将超链接插入单元格,则无法直接从公式中提取 URL。您可以考虑编写一个复杂的正则表达式来匹配和提取单元格公式中的超链接,或者使用 Google Sheets API 的 Apps Script。
const extractHyperlinksInSheet = ( ) => { const ss = SpreadsheetApp . getActiveSpreadsheet ( ) ; const sheet = SpreadsheetApp . getActiveSheet ( ) ; const hyperlinks = [ ] ; const spreadsheedId = ss . getId ( ) ; const sheetName = sheet . getName ( ) ; const getRange = ( row , col ) => { const address = sheet . getRange ( row + 1 , col + 1 ) . getA1Notation ( ) ; return ` ${ sheetName } ! ${ address } ` ; } ; const getHyperlink = ( rowIndex , colIndex ) => { const { sheets } = Sheets . Spreadsheets . get ( spreadsheedId , { ranges : [ getRange ( rowIndex , colIndex ) ] , fields : 'sheets(data(rowData(values(formattedValue,hyperlink))))' , } ) ; const [ { formattedValue , hyperlink } ] = sheets [ 0 ] . data [ 0 ] . rowData [ 0 ] . values ; hyperlinks . push ( { rowIndex , colIndex , formattedValue , hyperlink } ) ; } ; sheet . getDataRange ( ) . getFormulas ( ) . forEach ( ( dataRow , rowIndex ) => { dataRow . forEach ( ( cellValue , colIndex ) => { if ( / =HYPERLINK / i . test ( cellValue ) ) { getHyperlink ( rowIndex , colIndex ) ; } } ) ; } ) ; Logger . log ( hyperlinks ) ; } ;
另请参阅:用 RegEx 替换 Google Docs 中的文本
来源: https://www.labnol.org/code/extract-hyperlinks-google-sheets-220301