htmlコードを使用してユーザーが日付を選択し、選択した日付に基づいてリモートAPIから値を取得して、これらの値をシートに表示できるダッシュボードを作成しています。アプリケーションスクリプトでGoogleスプレッドシートのセル値が常に更新されない
私はhtmlファイルにようなものがあります:私は、スクリプトエディタから機能(fncOpenMyDialogを())を選択すると、それが作成
function fncOpenMyDialog() {
//Open a dialog
var htmlDlg = HtmlService.createHtmlOutputFromFile('HTML_myHtml')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setWidth(500)
.setHeight(300);
SpreadsheetApp.getUi()
.showModalDialog(htmlDlg, 'Dashboard');
};
function functionToRunOnFormSubmit(fromInputForm, datevalue) {
Logger.log(fromInputForm);
Logger.log(datevalue);
SpreadsheetApp.getActiveSheet().getRange('B3').setValue(fromInputForm);
SpreadsheetApp.getActiveSheet().getRange('B4').setValue(datevalue);
};
次のように私はcode.gsを持って
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function() {
$("#datepicker").datepicker();
});
</script>
</head>
<body>
<form>
<select name="Student" id="category">
<option value="" selected="selected">Select Student</option>
<option value="Abercrombie, Amber">Abercrombie, Amber(Gr 11)</option>
<option value="Yupa, Jason">Yupa, Jason(Gr 9)</option>
</select>
Date: <input type="text" id="datepicker" name="datepicker">
<input type="submit" value="Submit" onclick="myFunction()">
</form>
<p id="demo"></p>
<script>
function myFunction() {
var x = document.getElementById("category").value;
var x2 = document.getElementById("datepicker").value;
//document.getElementById("demo").innerHTML = x;
google.script.run.functionToRunOnFormSubmit(x, x2);
google.script.host.close();
}
</script>
</body>
</html>
をスプレッドシート上のダッシュボード、ここでは日付を選択できますが、functionToRunOnFormSubmit関数のように引数をログに記録し、それに応じてB3とB4のセル値を設定します。それも更新されていませんスクリプトエディタにはログインしていません。
仕上げの前回の呼び出しを待たずに、ダイアログを閉じてその間違いました。 –
@ZigMandel ok最初の呼び出しが完了するのを待つ方法については、メソッドのドキュメントを教えてください。 – ashishk
google.script.runのgoogle –