Come rendere centinaia di URL selezionabili in Google Documenti


9

Sto migrando documenti su Google Documenti che contengono molti URL. Se premo Invio dopo ognuno, il collegamento diventa selezionabile. Ma sto cercando un modo per convertire tutti gli URL (testo che inizia con http: // o https: //) per essere cliccabili.

È possibile eseguire una macro, un componente aggiuntivo o uno script?

Risposte:


8

Ho fatto alcune ricerche sull'utilizzo degli script di Google Apps e ho ideato questo script che funziona per le mie esigenze. Spero sia utile anche per qualcun altro.

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

Ho seguito questo tutorial: YouTube Link

Per riassumere il suo contenuto: ha usato la funzione Start dal componente aggiuntivo di Power Tools . Come vedrai nel video e nel foglio, se modifichi la cella con un URL e scrivi uno spazio in più dopo il link e poi finalizzi la modifica della cella, il link appare come cliccabile. Quindi la funzione utilizzata rende questa "modifica" in un approccio globale. Per me ha funzionato davvero bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.