如何使用Google Script在Google文档中添加超链接

qch*_*cha 11 google-docs hyperlink google-apps-script

我一直使用insertText()函数,但现在我想在我的google文档中编写一个链接.理想的是能够用HTML编写,但我不知道如何...似乎使用insertText()函数是不可能的.

我怎样才能做到这一点 ?

SBm*_*ore 16

您应该能够使用setFormula和Hyperlink公式,如下所示:

var value = '=HYPERLINK("www.google.com", "Google")';

SpreadsheetApp.getActiveSpreadsheet()
   .getSheetByName("Sheet1")
   .getRange("A1")
   .setFormula(value);
Run Code Online (Sandbox Code Playgroud)

编辑: 看起来我误解了这个问题.试试这个:

DocumentApp.getActiveDocument().getBody().editAsText().insertText(0, "link text").setLinkUrl("www.google.com");
Run Code Online (Sandbox Code Playgroud)

编辑2:看起来.setLinkUrl()影响整个身体,而不是插入的文字.如果将链接文本放入变量并使用变量的长度来标记链接区域,它应该可以工作.试试这个:

function insertLink() {
  var text = "link text\n";
  var url = "www.google.com";
  DocumentApp.getActiveDocument().getBody().editAsText().insertText(0, text).setLinkUrl(0, text.length, url);
}
Run Code Online (Sandbox Code Playgroud)


Jan*_*ite 5

要在文档中添加超链接,请使用 Body.appendParagraph 和 setLinkUrl,然后合并。

let doc = DocumentApp.create("My Document");
let body = doc.getBody();
body.appendParagraph("Please click ");
let link = body.appendParagraph("here").setLinkUrl("http://www.google.com");
link.merge();
let closing = body.appendParagraph(".");
closing.merge();
Run Code Online (Sandbox Code Playgroud)

上面的代码将创建一个包含如下文本的文档:

请点击这里