Как сделать сотни URL кликабельными в Документах Google


9

Я перемещаю документы в Документы Google, которые содержат много URL-адресов. Если я нажимаю Enter после каждого, ссылка становится кликабельной. Но я ищу способ конвертировать все URL (текст, начинающийся с http: // или https: //), чтобы они были кликабельными.

Можно ли запустить макрос, надстройку или скрипт?

Ответы:


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 . Как вы увидите в видео и на своем листе, если вы редактируете ячейку с URL-адресом и пишете еще один пробел после ссылки, а затем завершаете редактирование ячейки, ссылка отображается как активная. Таким образом, используемая функция делает эту «модификацию» в массовом подходе. Для меня работал очень хорошо.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.