前回、前々回でGASを使って給与支払報告書のデータを作成する、データ入力、PDF保存までをやりました。
今回はDialogを表示させて、データを入力し、スクリプトを実行するまでをやりたいと思います。



扱いやすいのでDialog表示をクラス化します。
'use strict'
class Dialog {
  static showDialog(title, prompt) {
    const ui = SpreadsheetApp.getUi();
    const response = ui.prompt(title, prompt, ui.ButtonSet.OK_CANCEL);
    const resBtn = response.getSelectedButton(); // クリックされたボタンの取得
    const resPrompt = response.getResponseText(); 
    if (resBtn != 'OK') {
      return null; //'OK'ボタン以外の操作の場合null値を返す
    } else {
      return resPrompt; //'OK'ボタンが押された場合は、入力されたテキスト返を取得する
    }
  }
}
Dialogクラスをインスタンス化して、Dialogを表示します。 responseには入力されたテキストデータが入ります。
// Dialog表示のスクリプト
  const response = Dialog.showDialog('給与支払報告書pdf作成', '作成する給与支払年を入力してください(xxxx)');

Dialogを表示した後に想定される行動とその場合の対応は以下のとおりです。
if (response == null) {
    Browser.msgBox('キャンセルしました');
    return;
}
if (response == '') {
  Browser.msgBox('データを入力してください');
  return;
}
if (kyuyoHoukokuObj.length == 0) {
  Browser.msgBox('データがありません');
  return;
} else {
  // ↓ここにデータを入力して、pdfを保存するスクリプト書く
  kyuyoHoukokuObj.map(
     // 中身省略
  );
  Browser.msgBox('pdfフォルダに保存しました');
}
以上で、「Google Apps Scriptを使って給与支払報告書を作成する」は完成です。
参考リンク:
スプレッドシート
スクリプト(github)
可茂IT塾ではFlutter/Reactのインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。
Read More可茂IT塾ではFlutter/Reactのインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。
Read More