我有这个代码打开文件并使用replaceText替换字符串。
var url = 'http://www.test.com';
var doc = DocumentApp.openById(file.getId());
doc.replaceText("<<urlGoesHere>>", url);
doc.saveAndClose();
当我打开文档时,替换已经发生,但是url不是可点击的超链接,它只是静态文本。有没有办法以编程方式使其成为可点击的链接?
我发现这种文本方法名为setLinkUrl,但没有文档/示例:https://developers.google.com/apps-script/reference/document/text#setLinkUrl(String)
有什么想法吗?
答案 0 :(得分:15)
这是怎么回事,至少如果你只有一次url placeHolder。
如果您有多个,那么您应该迭代整个doc内容以找到每个或所有内容并将其全部替换。
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
}