Jak sprawić, by setki adresów URL były klikalne w Dokumentach Google

9

Migruję dokumenty do Dokumentów Google, które zawierają wiele adresów URL. Jeśli po każdym kliknę Enter, link będzie klikalny. Ale szukam sposobu na konwersję wszystkich adresów URL (tekst rozpoczynający się od http: // lub https: //), aby można je było kliknąć.

Czy mogę uruchomić makro, dodatek lub skrypt?

Dan H.
źródło

Odpowiedzi:

8

Przeprowadziłem badania dotyczące używania skryptów Google Apps i opracowałem ten skrypt, który działa na moje potrzeby. Mam nadzieję, że przyda się także komuś innemu.

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);
}    
Dan H.
źródło
-1

Wykonałem ten samouczek: YouTube Link

Podsumowując jego zawartość: użył funkcji Start z dodatku Power Tools . Jak zobaczysz na filmie i w arkuszu, jeśli edytujesz komórkę o adresie URL i napiszesz jeszcze jedno miejsce po linku, a następnie zakończysz edycję komórki, link pojawi się jako klikalny. Użyta funkcja sprawia, że ​​ta „modyfikacja” jest podejściem zbiorczym. Dla mnie działało naprawdę dobrze.

Tudor
źródło