)Googleカレンダーの予定をメールで配信することにしたのは、すでに書いたとおり。Teamへ予定を流してくれるBot(=毎週月曜日に次の1週間・30日分の予定を通知)。融通の利かない代物で、早急な改良が必要だったのだけど、優...【GAS】その場しのぎ的にメール配信へ切り替えた:その2(コード)https://adzukigenmai.com/2018/06/14/gas-schedule-improvement-2/エクセルの話が途中になっているのでこのトピックはササッと終わらせるつもりだったのだけど、コードを載せるとなるとメールアドレスやオフィス名の部分を変える必要が...Pythonの勉強で、繰り返し配列の演習をしたことも少しは影響していたのだろうか、前に作ったコードを見て、冗長な部分をなくしたい思いに駆られる。前に作ったものをシンプルにし、更にもう少しだけ便利にしてみようと書き直ししてみた。gistを直そうと思ったのだけど、前のコードがあまりにも汚くて、反対に「成長できてるんじゃない?」と思わせてくれるので、あれはあれでとっておくことにした。出発点は、長くて汚いコードをシンプルにしたい、というもの。そのため、入力にフォームを使って云々といったところまで改良はしていない。使いやすくしたいとは思っているので、その前段階として今回はカレンダーへの登録だけ不要なデータまで取得している。以前のコードは、9カラムの表に必要に応じてデータを登録するというもの。説明(カレンダー本文)場所カレンダーへの登録状況(自動入力される)終日イベントかどうかは手動で判定。今回は、カラム数が増えて10カラム。(2018.07.03削除)カレンダーへの登録状況(自動入力される)以前と今回のプログラムの違い今回のプログラムは、個人で使うのではなく、メール配信しているカレンダーへの入力を意識したもの。前は明確なゴールがなかったので、あの出来も仕方がないと言えば仕方がない。以前のプログラムでは、タイトルの整形も自力。今回は、カラムを分けて少しシンプルにしてみた。XXXカンファレンス」と自動的に整形される。何だ、たいしたことないじゃないか。実は、後々、フォームを使っての入力を意識している。スタッフ名と不在の種類はドロップダウンにする予定。終日判定のカラムを削除。これは、他の入力データの内容から自動で判断させる。使わないので削除)GASの《.CreateAllDayEvent()》や《.CreateEvent()》でもオプションとなっている、説明と場所については、もはや私に取っては不要。前回入れていたので、あくまでおまけで入れておいた。これを削除すると、以前より1つカラムは少なくなる。【いつくるかわからない今後のために:イベントID】イベントの修正をするプログラムを作ることを考えて、イベントID用のカラムを追加した。本当に使うときが来るのか疑わしいが。カレンダーへの登録フローでは、今回のプログラムを画像を使って説明。必要なデータを入力する。終日イベントの場合は、時刻の入力が不要。場合の処理を入れていない点に注意。今後、改善の必要あり。前回のようにボタンを設置するのもいいが、時間をトリガーにすることを考えている。入力後は、下図のようにイベントIDと登録状況が自動更新される。今となっては私には不要だが、場所と説明も反映されている。今回のコード不要な部分を削除。タイトルの整形などを付け加えたものの、全体の長さは同じくらいにおさまった。変数の宣言の位置変更VBAでは変数を一番最初に書くことが多く、前のプログラムではそれでいいような気がしていたが、最近は使う直前の宣言が多いので、そっちに変更した。感想まだまだ改良の余地はあるが、必要としているものに近づいた。数ヶ月前のことなのに、ここまで変えることになるとは考えもしなかった。どんなものが作れるのか、と手探りで作るのと、こういうものを作りたい、と作るのではこんなに違うものなのか。今後はフォームを使った入力の簡易化や、登録済みデータの修正・古いデータの消去などのフローを検討してみたい。「かわいいアプリ見つけたよ〜!」とウキウキな感じでメッセージ送ってきた友達(職業プログラマ)に「いやさ、今取り組んでるコードの処理速度がさ・・・」と切り返してひかれる事態。