如何使用 Google Apps 脚本从单元格中获取 linked 文本并在附加了 link 的其他单元格中设置文本?

How to get linked text from cell and set text in other cell with link attached using Google Apps Script?

我想从一个单元格中获取 linked 文本值,然后将其设置到附加了 URL 的另一个单元格中。

例如: 我在单元格 A1 中有以下 linked 文本值。我想获取此 URL-linked 文本并将其设置在附加了 link 的另一个单元格中。当我使用 getValue() 方法时,具有此值的 link 丢失了。使用 Google Apps 脚本还有其他方法吗?谢谢

您可以使用 getRichTextValue() 从文本中获取 link。

示例脚本如下所示:-

  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var sheet = ss.getSheetByName('Sheet1')
  var range  = sheet.getRange('A1')
  var linkURL = range.getRichTextValue().getLinkUrl()

参考:-

getRichTextValue()

在你的情况下,使用 getRichTextValue() 代替 getValue() 怎么样?

示例脚本:

function myFunction() {
  const src = "A1"; // Source cell.
  const dst = "B1"; // Destination cell.

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
  const richTextValue = sheet.getRange(src).getRichTextValue();
  sheet.getRange(dst).setRichTextValue(richTextValue);
}
  • 此示例脚本使用 richTextValue 从“A1”复制到“B1”。

  • 在这种情况下,您还可以使用以下示例脚本。

      const src = "A1"; // Source cell.
      const dst = "B1"; // Destination cell.
    
      const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
      sheet.getRange(src).copyTo(sheet.getRange(dst));
    

参考文献: