使用脚本替换Google Spreadsheets中单元格内的文本

时间:2016-06-30 12:55:12

标签: html templates replace google-apps-script spreadsheet

我正在尝试使用Google电子表格为Gmail创建基本签名生成器。我有HTML模板,但我不能指望每个人都知道如何编辑它,所以我试图创建一个电子表格,它将在CELL中生成HTML输出。然后用户将复制该单元格的内容,将其粘贴到记事本中,将其保存为HTML,打开它,然后将其复制并粘贴到GMail中。

我知道这种方法有多复杂,所以欢迎任何想法。

我试过的是有一个电子表格,其中包含我将通过脚本获取的字段:

Fields

然后,我希望能够使用我的模板生成HTML:

Template

到目前为止,我的方法是将所有HTML放在一个单元格中,并使用函数用单元格值替换每个占位符。我已经看到很多关于如何在整个单元格中执行替换的示例,但我找不到任何适用于此的内容。

这是我有多远:

function Signature() {
 var Nombre = SpreadsheetApp.getActiveSheet().getRange('C5').getValue()
 var Titulo = SpreadsheetApp.getActiveSheet().getRange('C6').getValue()
 var Correo = SpreadsheetApp.getActiveSheet().getRange('C7').getValue()
 var Telefono = SpreadsheetApp.getActiveSheet().getRange('C8').getValue()
 var Imagen = SpreadsheetApp.getActiveSheet().getRange('C9').getValue()
 var HTML = SpreadsheetApp.getActiveSheet().getRange('E5').getValue()
}

(我确实意识到这几乎没有)

毋庸置疑,我不是开发人员,我不希望任何人为我解决问题(也就是免费获得工作)。我希望在使用哪种方法或采用不同的,可能更简单的方法方面朝着正确的方向发展。

非常感谢

1 个答案:

答案 0 :(得分:1)

function Signature() {
 var Nombre = SpreadsheetApp.getActiveSheet().getRange('C5').getValue()
 var Titulo = SpreadsheetApp.getActiveSheet().getRange('C6').getValue()
 var Correo = SpreadsheetApp.getActiveSheet().getRange('C7').getValue()
 var Telefono = SpreadsheetApp.getActiveSheet().getRange('C8').getValue()
 var Imagen = SpreadsheetApp.getActiveSheet().getRange('C9').getValue()
 var HTML = SpreadsheetApp.getActiveSheet().getRange('E5').getValue()




var _HTMLTemplate = "in_quotations_all_your_html_code"+use_plus_sing _to_insert_variable+"continue_your_HTML_Code"
return _htmlTemplate


}

例如:

var _html = '<span id="nombreContainer" style="color:blue;">'+ Nombre + '</span>'