Error al crear Formulario en google sheets

Estoy tratando de crear un formulario, en la cual este es mi index.html y main.gs

lo que estoy tratando de crear es un formulario que permita almacenar informacion que se registre en un excel que se encuentra en google sheet, pero resulta que no me permite almacenar, lo que busco es usar este excel como una base de datos en la cual puedan ingresar informacion

INDEX.HTML

<script src="//code.jquery.com/jquery-1.10.2.js"></script> <link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons.css"> <script> function procesaFormulario(){    google.script.run.procesaFormDatosPersona(document.forms[0]); }   $  (function() {     $  ( "#guardar" ).click(procesaFormulario);   }); </script>  <html> <?   var hojaCalculo = SpreadsheetApp.openById("1r5UJJZcPL64JAmqyz8p1cV_e6m7QtlHT040pThF7QWw");   var hojaParametros = hojaParametros.getSheetByName('Parametros');    var ultimaFila=hojaParametros.getLastRow(); ?> <div> <form id="datosPersona" name="datosPersona">  <br>  Nombre (s):  <br><input type="text" id="nombre" name="nombre" placeholder="primer y/o segundo nombre" required>   <br>  Apellido (s):  <br><input type="text" id="apellido" name="apellido" placeholder="primer y/o segundo apellido" required>   <br>  ID:  <br><input type="text" id="id" name="id" placeholder="Numeros y Letras" required>   <br> Sexo:  <br>  <select type="text" id="sexo" name="sexo" required>  <? i=2;    while(i<=ultimaFila){  ?> <option value="<?=hojaParametros.getRange(i,1).getValue()?>"><?=hojaParametros.getRange(i,1).getValue()?></option>  <?  i++; }  ?>  </select>  <br><br>   <button class="action" id="guardar">Guardar</button>  </form>  </div>  </html> 

MAIN.GS

// Llamar al HTML   function doGet(e) {   Logger.log(Utilities.jsonStringify(e));   if(!e.parameter.page){    return HtmlService.createTemplateFromFile("Index").evaluate();   }     var template=HtmlService.createTemplateFromFile(e.parameter.page);   template.action=ScriptApp.getService().getUrl();   return template.evaluate();    //return HtmlService.createHtmlOutputFromFile('Index'); }  function procesaFormDatosPersona(e){    var sNombre = e.nombre;    var sApellido = e.apellido;    var sId = e.id;    var sSexo = e.sexo;      var hojaCalculo = SpreadsheetApp.openById("1r5UJJZcPL64JAmqyz8p1cV_e6m7QtlHT040pThF7QWw");    var hojaDatos = hojaCalculo.getSheetByName('Datos');    var ultimaFila = hojaDatos.getLastRow();     hojaDatos.getRange(ultimaFila+1,1).setValue(sNombre);    hojaDatos.getRange(ultimaFila+1,2).setValue(sApellido);    hojaDatos.getRange(ultimaFila+1,3).setValue(sId);    hojaDatos.getRange(ultimaFila+1,4).setValue(sSexo);    } 

pero resulta que al momento de publicar el formulario, me muestra este error:

 TypeError: No se puede llamar al método "getSheetByName" de undefined. (línea 6, archivo "Main", proyecto "informacion 2019") 

Que podria modificar en mi codigo?

Google sheets API retornar vista filtrada

Cómo retornar valores de vista filtrada en una planilla de Google por API. Debajo muestro cómo retorno valores de toda la planilla y más abajo el ID del filtro que necesito retornar (la API la modifiqué para usar como ejemplo)

  sheets.googleapis.com/v4/spreadsheets/16XSfRDLY1RdEUxHujbRCPX6eSh4CqP7ES2kVVDCGgoI/values/PEDIDOS?key=AIzaSyBvIVYP04bDzNvyR3v6FCgkn3N7lJp_Z9I   edit#gid=1979632929&fvid=633114568 

What sort of cheat sheets should a new DM have for a better flowing 5e game of Dungeons and Dragons?

The question is, what should a DM screen essentially have?

I’m new at playing and DMing, altough a lot of experience watching games, just got a group to play with now.

Started with the starter set in 5E and the Lost Mine of Phandelver adventure, however I’ve noticed the game can come to a stop when checking the rules or how to do something, while getting the books and stuff like that.

So I thought to make a DM screen with some cheat sheets, of the most usual things new players, and new DM’s have doubts on, and how to make the game flow well without long rule-checking breaks.

What should be on that screen?

So far this is what I found http://imgur.com/a/IXjjg but not sure if it has all I need or so much stuff that’ll also make the game stop a lot while cheking it out.

Loading google sheets data into localdb sql

I have a google spreadsheet with data that pertains to people that want to work for ice cream shops.

An UI is to be created that will be able to [read, write, delete] that data from the ui and sync the changes to the google spreadsheet. The reason for not using google spreadsheet is that there are easily 5k rows that will continue to increase.

With that, this main sheet does some calculations in google apps script that pushes and pulls data from about 10 other spreadsheets. The ability to access that data locally, in my opinion will improve the time it takes to do theses calculations as they are set on triggers and can take 10 minutes to refresh to the other sheets in all.

I am using asp.net/wpf for the ui and sql localdb to house the data grabbed from the google sheets api.

There is ssis but is complicated and as there is no updated guides for pulling google sheets into it.

Has anyone dealt with this before?

I am efficient in c#, javascript, node, python, c++. Junior in Java.

Replacing data in Google Sheets

I am new to coding! I have data in Sheet 1 of a Larger Spreadsheet that looks like this

25.06.18  

and wish to change it to look like

26/06/18  

I have tried to write a macro:

function Dated() {   var sheet = SpreadsheetApp.getActiveSheet();   var range = sheet.getRange("ac7:ag24");   var to_replace = ".";   var replace_with = "/";   replaceInSheet(sheet,range, to_replace, replace_with);  }; 

However, I get an error:

ReferenceError: “replaceInSheet” is not defined.

It is possibly quite simple but cannot solve it!

How to open a Google Sheets file and imediately jump to the end on the mobile app?

Similar questions have been asked before (e.g. here) but this code doesn’t work on the mobile (Android) Google Sheets app.

Apps script does work on the mobile version in general, as long as there is an internet connection.

Is it possible to get a similar script to work on the mobile version of Google Sheets?