ボタンをクリックするとシートの指定された部分に「a」を入力したい。
Googleスプレッドシートのボタンをクリックしても、指定されたセルに値が入力されない。2つの異なるアプローチは期待通りに動作しませんでした。
1.doGet()関数を除いたスクリプトをスクリプトタグの間に挿入します。また、button要素のonclick属性に"onButtonClick()"
を指定します。
結果:ボタンをクリックすると、「a」が表示されます。
スクリプトタグの間にfunction onButtonClick(){console.log("a");}
を挿入するとクリックのタイミングで「a」を確認できることから、スクリプトタグの間に問題があると予想されます。
2.button要素のonclick属性に<? buttonClick() ?>
を指定します。
結果:doGet()が実行されると、目的の場所に「a」が表示されます。
function doGet() { const template = HtmlService.createTemplateFromFile("test"); return template.evaluate(); } function onButtonClick() { setSheetValue("data", 1, 1, "a"); } function getSheetRange(sheetName, rowNum, colNum){ const activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); const targetSheet = activeSpreadsheet.getSheetByName(sheetName); const targetRange = targetSheet.getRange(rowNum, colNum); return targetRange; } function setSheetValue(sheetName, rowNum, colNum, value){ getSheetRange(sheetName, rowNum, colNum).setValue(value); }
<head> <script> </script> </head> <body> <button type="button">ボタン</button> </body>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。