我在Google表格中有一个绑定的Google脚本,该脚本可以创建菜单并使用一系列函数在工作表的onOpen中填充菜单。一个功能创建了一个新的Google文档。然后,我想打开该文档,但是我不知道如何将文档的URL传递到href语句中。参见下面的代码:
function createLandscapeLyricDoc() {
var doc = DocumentApp.create('Rename');
var title = "replace with song title and then link this text to song title cell in Catalog Spreadsheet"
var url = doc.getUrl();
var body = doc.getBody();
var paragraph = body.insertParagraph(0, "");
var text1 = paragraph.appendText("© replace with writer(s)");
text1.setFontSize(8);
var rowsData = [['PUT FIRST VERSE/CHORUS HERE. (SUGGEST USE ALL CAPS.)', 'PUT SECOND VERSE/NEXT CHORUS/BRIDGE/ETC HERE.']];
var style = {};
body.insertParagraph(0, title)
.setHeading(DocumentApp.ParagraphHeading.HEADING3);
table = body.appendTable(rowsData);
style[DocumentApp.Attribute.BORDER_WIDTH] = 0;
table.setAttributes(style);
/*line below is the one that does not work as the variable "url" is not being read correctly (as I don't know how to use it or if this can even be done)*/
var html = "<a href= 'url'; target='_blank'>Open 1-Column Lyric Template</a>";
var selection = SpreadsheetApp.getActiveSheet();
var userInterface = HtmlService.createHtmlOutput(html);
SpreadsheetApp.getUi().showModalDialog(userInterface, 'Open Landscape New Lyric Doc');
有人建议已经here回答了这个问题,虽然我可以看到为什么提出了这个建议,但我有以下观察见:
1)我对Google脚本编码来说是个新手,无法了解足够的术语以在Stack Overflow上形成搜索查询以找到答案。而且,实际上,如果我偶然发现了这个“答案”,我不确定我是否会意识到这一点,因为总体代码与我所苦苦挣扎的代码完全不同。
2)在我提出问题之前,该解决方案并没有作为建议的解决方案之一出现。
综合考虑这两点,特别是对于新手编码人员,我认为在此站点上提问对其他适合我个人资料的人(而不是经验丰富的编码员)会有所帮助,因为此问题和答案可能会针对其他人尝试去做我曾经/正在尝试做的事情,而How to use a variable inside a string问答不会。
答案 0 :(得分:0)
桑迪·古德(Sandy Good)回答:
var html = '<a href= "' + url + '"; target="_blank">Open 1-Column Lyric Template</a>;'
答案 1 :(得分:0)
我发现以这种方式在复杂的字符串中这样做更容易。
var html = Utilities.formatString('<a href="%s" target="_blank">Open 1-Column Lyric Template</a>',url);