-この物語は、入社して一年目の新人社員が上司の指南のもと、業務を自動化していく様を記したものです。物語はフィクションですが、自動化の手法は実際にパソコンやスマートフォンで実践できるものですので、物語と自動化作業の両方を楽しめます。(前回のストーリーはこちら)僕(田中)はいつになく熱心に仕事に励んでいた。いうのも、今回、秋の特別キャンペーンのための特別任務を社長から任されたのだ。このプロジェクトのために、10人ほどの短期アルバイトを募集した。いつも一番下っ端の僕が一時的にアルバイトのみんなを率いるリーダーとなる。すると、次期リーダーの適性も測られているのではとドキドキする。仕事の内容は、いろいろな場所に行ってビラ配りをしてもらうというものだ。最大限に予算を活用するために、一人一カ所に留まるのではなく、それぞれが、いろいろな場所に移動しながら、対象となるユーザーを探しつつ、物件情報を手渡しするという作戦になっている。ちなみに、読者の皆さんは、新人の僕が、一人でこの高度な作戦を指揮できるのだろうかと心配になったことだろう。僕も不安だったが、それ以上に、美人の太田先輩が不安に思ってくれたようだ。先輩は「初の大仕事ね。田中君なら大丈夫、頑張ってね。」と優しく言ってくれていたものの、実際には心配してどのようにやったら良いのかを手取り足取り教えてくれた。僕も失敗する訳にはいかないので、存分に太田先輩に頼った。先輩の有能さを改めて思い知ったのだった。ところで、去年の担当者に様子を聞いたところ、移動しながらのビラ配りには欠点があるということが判明した。一度ビラ配りを始めてしまうと、うっかり時間を忘れてしまうという人が続出し、予定のエリアを全部網羅することは出来なかったという。そこで、先輩と相談して今年は、各グループに対して移動場所を定期的にLINEで通知するという作戦を立てた。これなら、うっかり時間を忘れたり、行き先を間違えると言うこともないだろう。その際、太田先輩が僕に尋ねてきた。「え?!先輩、10人ですか?ーーーえっと、はい。当日は、根性出してスマートフォンにかじりつく所存です。僕の答えに、太田先輩が凍り付いた。「ExcelからLINEへメッセージの送信ができるなんて、思いもしませんでした。僕が感心していると、太田先輩がさらっと言った。「田中君、さっき『根性』って言ったけど、仕事で『根性出せ』なんて言われたら、それをプログラミングで解決できないか考えてみるのが大切ね。」こうして、僕はExcelで予定表を組み、それに基づいてVBAでLINEへメッセージを自動送信するプログラムを作ったのだった。当日、無事にプロジェクトは完了した。その成果として、有力な見込み客からの問い合わせが数件あったようだ。して、僕と太田先輩の初めての共同作業は大成功だった。VBAからLINEのメッセージを自動送信するというものです。実際に動かしてみましょう。今回のプログラムを利用するのにあたって、LINEのアカウントが必要になります。最初にLINEの設定から行いましょう。Notifyという機能を利用します。Notifyを利用すると手軽に特定のグループや個人にメッセージを送信できます。NotifyのWebサイトにアクセスします。Notifyを利用すると手軽に自作のプログラムからメッセージを送信できる画面右上にある「ログイン」のリンクをクリックし、LINEのアカウントを入力してログインします。(このために、メールアドレスやパスワードを登録しておく必要があります。)そして、右上の自分の名前をクリックすると表示されるメニューから「マイページ」をクリックします。マイページをクリック続いて、画面の下の方にある「トークンを発行する」をクリックします。トークンを取得をクリックそして、続いて出てくるグループを選択します。Notifyから通知を受けとる』を選びましたが、実際にLINEで送信したいグループを選択します。Notifyを招待しておく必要があります。グループを選択すると、トークンが発行されます。ここで得られたトークンを利用してメッセージを送信します。この値を覚えておきましょう。次に、Excelを起動し、「何時、誰へ、どんなメッセージを送るのか」を記入します。この誰の部分に、先ほど取得したトークンを書き込んでおきます。[F11]キーを押して、VBAエディタを起動しましょう。画面左上にある[プロジェクト]からSheet1を選んでダブルクリックします。そこに以下のようなプログラムを記述します。今回のプログラムは、WindowsのExcel専用です。Sub【手順4:実行する】カーソルを、サブルーチン「CheckTime」に合わせた状態で実行ボタンをクリックします。すると、タイマーが開始され、定刻になるとLINEにメッセージを送信します。LINEにメッセージが送信されたプログラムを確認してみましょう。このプログラムの(*1)の部分「CheckNext」では、一分後にタイマーを設定します。このタイマーは、一分後にサブルーチン「CheckTime」を実行するというものです。CheckTimeの最後に、改めてCheckNextを呼び出すので、必ず一分に一度、時間をチェックするようになります。ここで実際にタイマーを設定しているのが、Application.OnTimeです。引数に、タイマー時刻と実行するサブルーチン名を指定することで、タイマーを設定できます。次に(*2)の部分「CheckTime」では、Sheet1に書かれている時刻を確認して、同じ時刻があれば、LINEにメッセージを送信するという処理になっています。ここでは、ちょっと手抜きしてSheet1の100行目までをチェックするというものになっています。100行以上になる場合は、For構文の値を増やしてください。Notifyを利用してLINEにメッセージを送信します。Notifyではヘッダにあらかじめ取得しておいたトークンを指定することで、メッセージを送信できるというものになっています。VBAからLINEにメッセージを送信するプログラムを紹介しました。Excelを閉じるとタイマーが停止してしまうので、パソコンを起動しっぱなにしておく必要があります。一般的にパソコンを操作しないでいると、スリープになってしまうため、実際に運用するときには、スリープ設定を解除するなど、ちょっと設定を変える必要があります。言え、ExcelでLINEに送信するメッセージを制御できるので、いろいろな場面で利用できるでしょう。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。テキスト音楽「サクラ」など。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。