
Googleドキュメントで自動リンク
Googleドキュメントでは貼り付けたテキストがURLだと自動的にリンクになる。
しかし、iwb.jpのようなhttps:から始まらないドメインの場合はTwitterのように自動的にリンクになることはない。
GASでドメインを自動的にリンクに
Google Apps Script (GAS) を使用すればTwitterのようにiwb.jpのようなドメインを自動的にリンクに変換できる。
ただし、GoogleドキュメントはGoogleスプレッドシートのようにonEditが使用できないのでトリガーはonOpenを使用することになる。
onOpenを使用した場合、ドメインが入ったファイルが開かれた際にドメインがリンクに変換される。
やり方はまずonOpen内にgetParagraphs()でセクションに含まれるすべての段落を取得する。
すべての段落を取得したらforEachで各テキストをgetText()で取得してドメインの正規表現にマッチする場合はsetLinkUrlでマッチしたテキスト(ドメイン)に対してリンクを付与させるだけでできる。
function onOpen() {
const body = DocumentApp.getActiveDocument().getBody()
const paragraphs = body.getParagraphs()
paragraphs.forEach(p => {
const text = p.getText()
const regex = /([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*\.)+[a-zA-Z]{2,}/
const match = text.match(regex)
const linkLen = match ? match[0].length- 1 : null
const index = match?.index
if (match) {
p.editAsText().setLinkUrl(index, index + linkLen , 'https://' + match[0] + '/')
}
})
}

GoogleドキュメントでTwitterのようにGASで自動リンク追加サンプル