谷歌应用程序脚本使用replaceText()使文本成为可点击的URL

谷歌应用程序脚本使用replaceText()使文本成为可点击的URL,url,text,replace,hyperlink,google-apps-script,Url,Text,Replace,Hyperlink,Google Apps Script,我有一段代码,可以打开文件并使用replaceText替换字符串 var url = 'http://www.test.com'; var doc = DocumentApp.openById(file.getId()); doc.replaceText("<<urlGoesHere>>", url); doc.saveAndClose(); var url='1〕http://www.test.com'; var doc=DocumentApp.openById(fi

我有一段代码,可以打开文件并使用replaceText替换字符串

var url = 'http://www.test.com';
var doc = DocumentApp.openById(file.getId());
doc.replaceText("<<urlGoesHere>>", url);
doc.saveAndClose();
var url='1〕http://www.test.com';
var doc=DocumentApp.openById(file.getId());
doc.replaceText(“,url”);
doc.saveAndClose();
当我打开文档时,替换已经发生,但url不是可单击的超链接,它只是静态文本。有没有办法通过编程使其成为可点击的链接

我发现这种文本方法称为setLinkUrl,但没有文档/示例:


有什么想法吗?

至少在url占位符只出现一次的情况下,情况是这样的

如果您有多个文档内容,那么您应该迭代整个文档内容,以查找每个文档内容并将其全部替换

function myFunction() {
  var url = 'http://www.google.com';
  var doc = DocumentApp.getActiveDocument();// or DocumentApp.openById(file.getId()); as in your example code
  var element = doc.getBody().findText("<<urlGoesHere>>");
  if(element){ // if found a match
    var start = element.getStartOffset();
    var text = element.getElement().asText();
    text.replaceText("<<urlGoesHere>>",url);
    text.setLinkUrl(start, start+url.length, url);
    doc.saveAndClose();
  } // else do nothing
}
函数myFunction(){
var url='1〕http://www.google.com';
var doc=DocumentApp.getActiveDocument();//或DocumentApp.openById(file.getId());如示例代码所示
var元素=doc.getBody().findText(“”);
if(element){//if找到匹配项
var start=element.getStartOffset();
var text=element.getElement().asText();
text.replaceText(“,url”);
text.setLinkUrl(start,start+url.length,url);
doc.saveAndClose();
}//否则什么也不做
}

是的……这是一种常见的模式,我真的希望他们能够修复。我发现至少有100种方法几乎没有文档。这很有效,谢谢!我没有足够的声望去投票。同样,像往常一样,感谢您对谷歌应用程序脚本社区的贡献。我经常在你的回答中找到我许多问题的答案。