如何在Google文档中使数百个URL可点击


9

我正在将文档迁移到包含许多URL的Google文档。如果我在每输入一个命令后都按Enter键,则该链接变为可点击的。但是,我正在寻找一种将所有URL(以http://或https://开头的文本)转换为可点击的方式。

我可以运行一个宏,附加组件或脚本吗?

Answers:


8

我对使用Google Apps脚本进行了一些研究,并提出了适合我需要的脚本。我希望它对其他人也有用。

function onOpen() {
  DocumentApp.getUi().createAddonMenu()
    .addItem('Make URLs Clickable', 'makeUrlsClickable')
    .addToUi();
}

function makeUrlsClickable() {
  var urlRegex = 'http[s]?:\/\/[^ ]+';
  var body = DocumentApp.getActiveDocument().getBody();
  var urlElement = body.findText(urlRegex);  

  while (urlElement != null) {    
    var urlText = urlElement.getElement().asText();

    var startOffset = urlElement.getStartOffset();
    var endOffset = urlElement.getEndOffsetInclusive();

    urlText.setLinkUrl(startOffset, endOffset, getOnlyUrl(urlText.getText()));

    urlElement = body.findText(urlRegex, urlElement);
  }
}

function getOnlyUrl(text) {
  var startOffset = text.indexOf('http');
  var endOffset = text.indexOf(' ', startOffset);

  if (endOffset === -1) {
    endOffset = text.length;
  }

  return text.substring(startOffset, endOffset);
}    

-1

我遵循了本教程:YouTube链接

总结一下它的内容:它使用了Power Tools Add-On中的Start功能。正如您将在视频和工作表中看到的那样,如果您编辑具有URL的单元格,并在链接后再写一个空格,然后完成单元格编辑,则该链接将显示为可单击的。因此,所使用的函数以批量方式进行了“修改”。对我来说真的很好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.