非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

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>
 

 

 

スポンサーリンク

 - Google Apps Script