我想从HTML文件中调用Google表格。 这可以通过文档(https://developers.google.com/apps-script/guides/html/templates)来实现:
<body>
<? var data = SpreadsheetApp
.openById('1234567890abcdefghijklmnopqrstuvwxyz')
.getActiveSheet()
.getDataRange()
.getValues(); ?> </body>
当我加载HTML文件时,它确实有效并捕获值。 我需要做的是 - 我想在for循环中的Spreadsheet中设置值,该循环由一个按钮激活。
function processForm() {
var elementsNr = document.getElementsByName("nummerierung")
var elements = document.getElementsByName("schuelername")
var elementsDate = document.getElementsByName("datuminput")
var elementsArt = document.getElementsByName("art")
var elementsZeit = document.getElementsByName("zeit")
for (var i = 0; i < elements.length; i++) {
var Nr = elementsNr[i].value;
var sname = elements[i].value;
var datum = elementsDate[i].value;
var Uart = elementsArt[i].value;
var UZeit = elementsZeit[i].value;
var data = SpreadsheetApp
.openById('1MWy0J5ZKnsXXKWEX72Bh9cRBvsFkDAqTEhW1SxFavmA')
.getActiveSheet()
.getDataRange(sheet.getLastRow()+1, 1, 1, 5)
.getValues([[Nr, datum, sname, Uart, UZeit]]);
}
但不知怎的,我得到了一个引用错误:
ReferenceError:未定义SpreadsheetApp
:(
任何?
答案 0 :(得分:1)
所引用的文档是关于模板化HTML的,但问题中显示的代码并未使用模板化HTML语法。另一方面,Best Practices doc建议异步加载数据。
要从客户端JavaScript(HTML文件上的脚本)调用服务器端的Apps Scripts函数,首先在.gs文件上创建一个函数,然后使用google.script.run <从HTML调用它。 / p>
有关代码示例,请参阅answer Daniel至SpreadsheetApp.getActiveSpreadsheet() is breaking script
顺便说一下,getDataRange和getValues不应该有参数。