HTMLからGASへデータを転送する方法
以前、GASからHTMLへのデータの受け渡し方法について書きましたが、逆のパターンを紹介していなかったので書きます。
以下の動画のようにモーダルウィンドウ(HTML)内のボタンを押すと、「OK」というデータがGAS側に送られ、それをシートに書き込むという単純なプログラムです。
GAS側のプログラム
ボタン押下時のイベントはshowDialog()で、HTMLからのコールバック関数がgetText(s)となります。
function showDialog() {
var output = HtmlService.createTemplateFromFile('index');
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var html = output.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setWidth(400)
.setHeight(300)
.setTitle('Test');
sheet.show(html); //メッセージボックスとしてを表示する
}
function getText(s){
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1,1).setValue(s);
}
HTML側のプログラム
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<button onclick="submit()"> submit to GAS </button>
<script>
function submit(){
google.script.run.getText2("OK");
google.script.host.close();
}
</script>
</body>
</html>
スポンサーリンク