0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GASでスプシにアラート出してみた

Last updated at Posted at 2022-08-20

父の業務を効率化するためにGASを組んだのですが、その際に使ったアラート機能をここに残します🔥

経緯

経緯としては、プログラミングに疎い父のために、GASでUI的にアラートを出してあげよう!というのが始まりです。少しだけ入力させる工程があり、お得意先さんの名前とそのコードを記入しないといけないのですが、そこでおっちょこちょいの父は、片方しか入力しなかったりしてミスる訳です。その時に、プログラミングできない父はログとか読むと思いますか?いや読める訳ないんです笑
そこで、UI的にスプレッドシート側にアラートを出そう!と決めました💪

使い方

アラートの使い方には、主に2種類があると思っています。

  1. シンプルにコードで使う
  2. 例外処理と組み合わせて使う

上記の順で説明します🙌

簡単な使い方

以下の内容が表示するコードです。
至ってシンプル!!!

main.gs
  if(clientCode.length === 0) {
    SpreadsheetApp.getUi().alert('エラー\n得意先コードが未入力です。\n実行できません。')
    return
  } else if(clientName.length === 0) {
    SpreadsheetApp.getUi().alert('エラー\n得意先名が未入力です。\n実行できません。')
    return
  }

SpreadSheetAppクラスのgetUiメソッド群の中にあるalert()を使います。
DOMのalertとほとんど同じ用法で、()の中には、文字列を格納する以外の使い道はありません。

例外処理との組み合わせ

また、例外処理と組み合わせる場合は以下のように使うと良いでしょう!

  // 新しいシートの作成
  let newSheet = sheet.insertSheet() 
  const title = `${clientCode} ${clientName}`
  try {
    newSheet.setName(title)
  } catch(e) {
    SpreadsheetApp.getUi().alert(e.message)
    sheet.deleteSheet(newSheet)
    return
  }

このコードは、新しいシートを作成するのですが、シート名を設定するtitle変数に値がない場合setName関数がエラーを吐きます。そのエラーをtry-catch構文でキャッチし、例外クラスのメッセージフィールドをalertで表示し、return文でGASの実行を停止します。

最後に

このように、例外処理try-catchと組み合わせることで、プログラミングが苦手な父も使えるサービスになりました⭐️
UIを意識する場合は、使ってみると良いかもしれません!それでは〜🙋‍♂️

参考文献

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?