Cách tạo hàng trăm URL có thể nhấp trong Google Docs


9

Tôi đang di chuyển tài liệu sang Google Docs có chứa nhiều URL. Nếu tôi nhấn Enter sau mỗi cái, liên kết sẽ có thể nhấp được. Nhưng tôi đang tìm cách chuyển đổi tất cả các URL (văn bản bắt đầu bằng http: // hoặc https: //) để có thể nhấp được.

Có macro, add-on hoặc script tôi có thể chạy không?

Câu trả lời:


8

Tôi đã thực hiện một số nghiên cứu về việc sử dụng Tập lệnh Google Apps và tôi đã đưa ra tập lệnh này phù hợp với nhu cầu của mình. Tôi hy vọng nó cũng hữu ích cho người khác.

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

Tôi đã làm theo hướng dẫn này: Liên kết YouTube

Để tóm tắt nội dung của nó: nó đã sử dụng chức năng Bắt đầu từ Tiện ích bổ sung Power Tools . Như bạn sẽ thấy trong video và trong trang tính của mình, nếu bạn chỉnh sửa ô có URL và viết thêm một khoảng trắng sau liên kết và sau đó hoàn tất chỉnh sửa ô của bạn, liên kết sẽ xuất hiện dưới dạng có thể nhấp. Vì vậy, chức năng được sử dụng làm cho 'sửa đổi' này theo cách tiếp cận hàng loạt. Đối với tôi làm việc thực sự tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.