エクセルVBAでマクロの実行完了と処理時間をチャットワークに通知する方法

★気に入ったらシェアをお願いします!


みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

エクセルVBAでHTTP通信を行う方法についてあれこれお伝えしています。

前回はこちらの記事でした。

エクセルVBAでチャットワークに最もシンプルなメッセージを送る方法
エクセルVBAでチャットワークAPIを利用する方法をお伝えしております。POSTメソッドによるHTTPリクエストによりチャットワークにメッセージを送信する簡単なプログラムを紹介していきます。

エクセルVBAからHTTPリクエストをチャットワークに送って、メッセージを送信する方法についてお伝えしました。

紹介した方法は、「テスト」といったシンプルなメッセージを送るのみでしたので、エクセルVBAからチャットワークにメッセージ…具体的にどんな時に使いますかね?

ということで、今回は一つ便利な使用例として、マクロの実行完了についてチャットワークへの通知してお知らせする方法についてお伝えします。

では、行ってみましょう!

前回のおさらい

では、まずは前回のおさらいからです。

シンプルにチャットワークに「テスト」というメッセージを送るというものです。

今回のポイントは13行目ですね。ここのbodyの値を「マクロの完了メッセージ」にすればOKというわけです。

他の部分はいっぱいあれこれありますが、メッセージを送るための設定とかいろいろやっている部分なので、今回は使いまわしでいけちゃいます。

テスト用のプロシージャ

今回は、以下の記事を参考に、実行時間も含めてチャットで完了報告を送りたいと思います。

遅い…重い…そんなエクセルVBAプログラムの処理速度を劇的に改善する方法
エクセルVBAの実行速度が遅い・重いって時ありませんか?そんな時にエクセルVBAのプログラムの処理速度を速くするテクニックを紹介します。プログラムの実行時間を測定する方法も合わせてお伝えします。

特に意味があるものではないですが、そこそこ実行時間がかかりそうな処理と、その結果と実行速度をメッセージで表示するものです。

このメッセージボックスの代わりに、チャットワークへのメッセージ送信をしたいというわけです。

チャットワークへのメッセージ送信をプロシージャ化

冒頭のプロシージャについて、汎用性を高めるために、プロシージャ化をします。

ルームIDと、送信するメッセージを渡すと、実際にチャットワークへPOSTリクエストを送り、メッセージを送信するというものです。

チャットワークへのメッセージの生成とsendChatの呼び出し

チャットワークへのメッセージの呼び出しですが、以下のようにcountSpeedを変更します。

チャットワークに送るメッセージ文字列を変数msgに生成をして、sendChatを呼び出している16~25行目が新たに追加・修正した部分です。

ACCOUNT_IDには、自分のアカウントIDを付与しています。これで、自分宛の「To」がつきます。

Google Apps ScriptでチャットワークにToや返信でメッセージを送る
Google Apps Scriptでチャットワークのおみくじチャットを作っています。今回はチャットワークのメッセージ記法を使って、おみくじの結果をToや返信のメッセージにする方法です。

実行結果

こちらのプロシージャcountSpeetを実行すると、以下のようにチャットワークにマクロの実行完了を、自分へのメンション付きで、お知らせすることができます。

エクセルVBAでマクロの実行完了をチャットワークに通知

まとめ

エクセルVBAでマクロの実行完了をチャットワークに通知する方法についてお伝えしました。

これで、ちょっと処理時間のマクロをPCで実行しているときに、席を外しちゃったりしても大丈夫ですね。

エラーが出たときにも通知が来るようにするなどをすると良いかもしれませんね。

また、便利な使い方を紹介していきます。

どうぞお楽しみに!

連載目次:エクセルVBAでチャットワークAPIにリクエストする方法

エクセルVBAではIXMLHTTPRequestオブジェクトを使うことでHTTP通信を行うことができます。このシリーズではエクセルVBAからHTTPリクエストを行うことで、チャットワークAPIを活用する方法を紹介していきます。
  1. エクセルVBAでHTTPリクエストをする最も簡単なプログラム
  2. エクセルVBAでIEを使わずにHTMLドキュメントを取得する方法
  3. エクセルVBAでチャットワークAPIにリクエストを送る最も簡単なプログラム
  4. エクセルVBAでチャットワークに最もシンプルなメッセージを送る方法
  5. エクセルVBAでマクロの実行完了と処理時間をチャットワークに通知する方法

The following two tabs change content below.
1976年こどもの日生まれ。東京板橋区在住。「ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、コンサル、執筆本を中心に活動しています。→詳しいプロフィールはコチラ ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ ★フォロー頂ければ嬉しいです。