Cómo hacer que se pueda hacer clic en cientos de URL en Google Docs


9

Estoy migrando documentos a Google Docs que contienen muchas URL. Si presiono Enter después de cada uno, el enlace se puede hacer clic. Pero estoy buscando una manera de convertir todas las URL (texto que comience con http: // o https: //) para que se pueda hacer clic.

¿Hay una macro, complemento o script que pueda ejecutar?

Respuestas:


8

Investigué un poco sobre el uso de los scripts de Google Apps y se me ocurrió este script que funciona para mis necesidades. Espero que sea útil para alguien más también.

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

Seguí este tutorial: Enlace de YouTube

Para resumir su contenido: usó la función de Inicio del complemento Power Tools . Como verá en el video y en su hoja, si edita la celda que tiene una URL y escribe un espacio más después del enlace y luego finaliza la edición de su celda, el enlace aparece como cliqueable. Entonces, la función utilizada hace esta 'modificación' en un enfoque masivo. Para mí funcionó muy bien.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.