web-dev-qa-db-ja.com

GoogleドキュメントにURLを貼り付けるときに自動的にリンクを作成する

簡単に言えば、私は定期的にハイパーリンクのバッチをGoogleドキュメントに貼り付けます。コピーされたとき、それらはリンクされておらず、純粋に生のテキストです。ただし、Google Docsに貼り付けると、これらのリンクは(当然)リンクとして表示されず、手動でリンクする必要があります。

Googleドキュメントですべての「ハイパーリンクに見える」テキストを自動的にハイパーリンクに変更する簡単な方法はありますか?

編集:毎週Googleドキュメントにコピーアンドペーストするタイプは次のとおりです。

text
text
text
link

text
text
text
link

etc. (x20)

各リンクの前に既にhttp://がありますが、ブロック全体をGoogleドキュメントに貼り付けているため、自動的に変換されません。文書全体を強調表示し、ボタンを押して、すべての「リンクに適格な」テキストをリンクに変更する方法を探しています。

4
Google fan

Googleドキュメントが自動的にリンクを作成します。押すだけ ENTER リンクを入力(またはコピー)した後。

enter image description here

注:これは、プロトコル(つまり、http://またはhttps://)またはwwwを含める場合にのみ機能しますリンクの始まり。たとえば、次のリンクは自動作成されます。

www.test.com
http://www.test.com

しかし、これはしません:

yahoo.com
1
freginold

リンクを識別するためのパターンマッチングは非常に基本的ですが、これで開始できます。強調表示されたすべてのテキストを参照し、必要な場所にリンクを作成するメニューをドキュメントに追加します。 (スクリプトエディターに貼り付け、スクリプトを保存します。ドキュメントを再読み込みします)

この主な部分はこの例から変更されました: https://developers.google.com/apps-script/reference/document/range

function onOpen(e) {
   DocumentApp.getUi()
       .createMenu('My Menu')
       .addItem('make links', 'test')
       .addToUi();
 }


function test(){
var selection = DocumentApp.getActiveDocument().getSelection();
 if (selection) {
   var elements = selection.getRangeElements();
   for (var i = 0; i < elements.length; i++) {
     var element = elements[i];

     // Only modify elements that can be edited as text; skip images and other non-text elements.
     if (element.getElement().editAsText) {
       var text = element.getElement().editAsText();

       if (text.findText("http")){
        text.setLinkUrl(text.getText() )
       }
     }
   }
 }
}
0
Jared Pinkham