1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

こんにちは!

普段使ってるスマホ、便利ですよね。
これでササッと開発できたら楽だと思いませんか?

今回は、スマホでGASのコードを書いてみたお話です。

なぜやろうと思ったか

当時、様々なタスクを抱えており、時間の確保が難しい時期がありました。
しかし、組織運用を少しでも楽にするために、スプレッドシートとGASを連携させた仕組み作りが必要。
なんとか通勤時間を有効に使えないか、という気持ちから、チャレンジしてみることに。

PCだとだめなのか

コロナ禍前だったので、乗車率が150%くらいの満員電車でした。
そこでPCを広げるのは、さすがに難しいです。
スマホで出来るのであれば、その方がいいです。

実際に作ったもの

これが実際に作ったコードです。
今は使われていないものですが、公開します。
Googleフォームの内容をSlackに通知するスクリプトです。

function sendToSlack(name, body, channel) {
  var url = "https://hooks.slack.com/services/xxxxx/xxxxx/xxxxx";
  var data = { "channel" : channel, 
              "username" : name, 
              "attachments": [{
                "color": "#d23546",
                "title": "月次報告",
                "title_link": "http://bit.ly/xxxxx",
                "text" : body,
              }],
              "icon_emoji" : ":smile:" };
  var payload = JSON.stringify(data);
  var options = {
    "method" : "POST",
    "contentType" : "application/json",
    "payload" : payload
  };
  var response = UrlFetchApp.fetch(url, options);
}


function onFormSubmit(e){
  var body = ""; 
  var applicant = "";
  var itemResponses = e.response.getItemResponses();
  
  var date = "";
  var name = "";
  var good = "";
  var problem = "";
  var memo = "";
  var selfCheck = "";
  
  var isHoliday = 0;

  for (var j = 0; j < itemResponses.length; j++){
    var itemResponse = itemResponses[j];
    var title = itemResponse.getItem().getTitle();
    var response = itemResponse.getResponse();

    switch (title) {
      case "氏名":
        name = response;
        break;
      case "良かったこと(業務)":
        good = response.substr(0,50);
        if( good.length < response.length ){
          good = good + ".....";
        }
        break;
      case "困っていること(業務)":
        problem = response.substr(0,50);
        if( problem.length < response.length ){
          problem = problem + ".....";
        }
        break;
      case "その他(業務外のことでも可)":
        memo = response.substr(0,50);
        if( memo.length < response.length ){
          memo = memo + ".....";
        }
        break;

      case "セルフチェック":
        for( var i=0; i<response.length; i++){
          selfCheck = selfCheck + "" + response[i] + "\n";
        }
        break

      default:
        break;
    }
  }
  var bodyPublic =  "氏名:" + name + 
    "\n--------------------\n良かったこと(業務):\n" +  good + 
      "\n--------------------\n困っていること(業務):\n" + problem + 
        "\n--------------------\nセルフチェック(できた項目):\n" + selfCheck + 
          "\n--------------------\nその他(業務外のことでも可):\n" + memo;
  sendToSlack(name, bodyPublic, "#ses_report");

}

メリット

意外とできます。
コツを覚えたら、通勤時間でスクリプトを作れてしまいます。
今ならAIを使って、もっと簡単に作れます。

デメリット

端末によると思いますが、自動でフォーカスされ、非常に見にくいです。
私の端末では、ここまでアップになりました。

こんなに拡大されると、さすがに厳しいです。
でもやりました💪

この拡大を回避する方法があれば、格段に開発しやすくなります。
回避方法については、引き続き調査します。

まとめ

今回は、スマホでGASを開発したお話でした。
もう少し工夫すると、もっと開発しやすくなるのではないかと思います。

資料はスマホで作ることも多いので、開発もどんどんチャレンジして、もっと効率のいい方法が見つかれば、改めてお知らせします!

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?