ITが皆にとって身近になっている昨今、「プログラミングで仕事や生活を楽にしよう!」という動きがさかんです。ただ中には、「プログラミングって難しそうだし、手を付けづらい」「ちょっと学んでみたはいいけど、自分の仕事にどう応用すればいいのかわからない」と感じている方も多いのではないでしょうか。
そこで、ここでは「Googleスプレッドシート上で管理しているタスク管理表で、タスクの期限日が迫ってきたら、メールでリマインドしてくれるプログラム」を例に、プログラムを書く際の考え方を少し追体験してみましょう。
①プログラムの基本は「インプット」→「処理」→「アウトプット」
まずは「インプット」「処理」「アウトプット」という大きな塊にプログラムを分けてみましょう。実、すべてのプログラムは、この3つの固まりに分けることができます。「タスクのリマインドプログラム」でいえば、「インプット」は「タスクの情報」、「処理」は「タスクの期限日を見て、リマインドするメールを作成する」、「アウトプット」は「作成されたメール」です。このように、プログラムの大雑把な概念としては、「インプットを処理して、アウトプットを出す」という流れで説明できてしまうのです。
②プログラムの要件定義
ただしタスクのリマインドプログラムを書くにあたっては、3つの塊をより細分化していく必要があります。たとえば「インプット」は「そのタスクはシートのどこに書いてあるのかを明確にする」、「処理」は「今日の日付を取得する」「今日の日付と、タスクの日付との差分を見る」「メールの宛先、本文、送信日時を設定する」などといくつかの処理に分けられます。このように「インプット」「処理」「アウトプット」を明確にし、「自分のプログラムで、何がどうなれば完成といえるのか」を決める作業のことを、「要件定義」と呼びます。
③フローチャートを作成する
要件定義が終わったら、今度はプログラムの処理の順番を具体的にするために、「フローチャート」を書いていきます。プログラムを実際に実行するコンピュータは、「命令のままに、正確に実行してくれる」便利な存在であるのですが、「間違った命令を出すと、その間違いを間違ったとおりに実行してしまう」という側面も持っています。なるべく正確に命令をするためにも、フローチャートの作成はプログラムが複雑になればなるほど重要になってきます。
④フローチャートに従って、プログラムを作成する
要件定義、フローチャートの作成が終わったら、あとはそれにしたがって、プログラムを作成していきます。ここで必要になるのが、プログラミング言語の文法的な知識です。
初心者の方ほど、上の①~④を見て「難しそうだな」と思ってしまうかもしれませんが、くじける必要はありません。大事なのは、失敗を恐れずにトライしてみることです。現役のエンジニアだって、「前に書いたフローチャート、プログラムを書き始めたらこんな工程も必要だったけど気付いてなかった!」「エラーが出ちゃったから、そこを直して、実行して、またエラーが出て、直して、実行して……」と試行錯誤を繰り返して、プログラムを完成させていくものです。そうしていくうちに、自然と自分ができることも増えていくはずです。
『ケーススタディでしっかり身につく! Google Apps Script超入門』では、「アンケート集計の自動化プログラム」「タスクのリマインドプログラム」など、実務でよくある業務を題材にしながらプログラミングを学びます。本記事では割愛していますが、プログラミングの文法の基本から解説をしているため、初心者の方でも、1冊こなせば業務効率化をおこなう基礎力が身に付きます。ぜひ、お手に取ってご確認ください。