見出し画像

Googleスプレッドシートで業務を効率化(17):売上管理を無料でやりたい人向けUIカスタマイズ方法2選

今回利用したスクリプトのコードになります。動画の中で使い方を説明していますのでぜひご活用ください。
(その1)ダイアログ編

function createForm() {
  var form = SpreadsheetApp.getUi();
  var title = 'test';
  var prompt = 'ダイアログを確認したらボタンを押してください'
  form.alert(title, prompt, form.ButtonSet.YES_NO);
}

function createForm2() {
  var form = SpreadsheetApp.getUi();
  var title = 'test';
  var prompt = 'ダイアログを確認したらボタンを押してください'
  var response = form.prompt(title, prompt, form.ButtonSet.OK_CANCEL);

  switch(response.getSelectedButton()){
    case form.Button.OK:
      var text = response.getResponseText();
      var sheet = SpreadsheetApp.getActiveSheet();
      sheet.getRange(5,11).setValue(text);
      break;
  }
}

function createForm3() {
  var html = HtmlService.createHtmlOutputFromFile('form3');
  SpreadsheetApp.getUi().showModalDialog(html, "商品名選択");
}
function postForm3(form) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var lastRow = sheet.getLastRow();
  sheet.getRange(lastRow+1,2).setValue(form.goods);
}

※その1で作成したHTML

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <form>
      <input type="radio" name="goods" value="バッグ">バッグ<br/>
      <input type="radio" name="goods" value="カメラ">カメラ<br/>
      <button onclick="post(this.parentNode)">送信</button>
    </form>
    <script>
      function post(form) {
        google.script.run.withSuccessHandler(function(){
          google.script.host.close();
        }).postForm3(form);
      }
    </script>
  </body>
</html>

(その2)固定入力欄編

function addRow() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var lastRow = sheet.getLastRow();

  var input_column = 16;
  var date = sheet.getRange(2,input_column).getValue();
  var goods = sheet.getRange(3,input_column).getValue();
  var store = sheet.getRange(4,input_column).getValue();
  var memo = sheet.getRange(5,input_column).getValue();

  sheet.getRange(lastRow+1,1).setValue(date);
  sheet.getRange(lastRow+1,2).setValue(goods);
  sheet.getRange(lastRow+1,3).setValue(store);
  sheet.getRange(lastRow+1,4).setValue(memo);
}

インストールがうまくいかない!などにつきましては以下のサイトからお気軽にお問い合わせください。


この記事が気に入ったらサポートをしてみませんか?