【问题标题】:Replace text within a cell in Google Spreadsheets using a script使用脚本替换 Google 电子表格中单元格内的文本
【发布时间】:2016-06-30 12:55:12
【问题描述】:

我正在尝试使用 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()
}

(我确实意识到这没什么)

不用说我不是开发人员,我不希望任何人为我解决问题(也就是免费获得工作)。我只想在使用哪种方法或另一种可能更简单的方法方面朝着正确的方向前进。

非常感谢

【问题讨论】:

  • 要提出有效问题,您必须展示与任务相关的尝试。仅获取工作表范围太少,因为它没有显示尝试或您的尝试出了什么问题。
  • 你会花同样多的时间说“你可以试试这个”,而不是试图教训我。也许我错过了stackoverflow.com/questions/ask/advice 中的要求? :)
  • 欢迎来到stackoverflow。见how to write a good stackoverflow question

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


【解决方案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>'

【讨论】:

  • 非常感谢@JuanDiegoAntezana。我曾尝试过,但使用 " 而不是 '。效果很好。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-01
  • 2021-12-27
  • 1970-01-01
  • 2011-12-21
相关资源
最近更新 更多