Microsoft自動化ブログ

VBA、PAD、Power Automateを中心に

技術を使い分ける際の考え方について

先日のセミナーで、自動化の技術を使い分けるポイントについてご質問がありました。VBA、PAD、Power Automateの3つをどう使い分けて、業務を自動化すれば良いのか。本記事ではこれら3ツールの使い分けのポイントをまとめます。

ツールは適切に使い分ける

大前提として、技術は適切に使い分けることが大切です。

スプーンが良いか?フォークが良いか?と聞かれたら、それは食べるモノ次第だと思います。スプーンでは難しい食べ物も、フォークならカンタンに食べれることもあります。

これと自動化の考え方は全く同じです。VBAでは難しいことも、他のツールならカンタンに解決できることもたくさんあります。何でもかんでもVBAでやることが良いことではないですし、それがプロの証でもないと思います。

各ツールをプロレベルまで極めずとも、それぞれのツールの良いとこどりをすれば十分に業務を効率化できる。各ツールには強み弱みがあるので、それぞれを適切な業務に当てはめていくことが大切ではないか。これが自動化に対する私の基本的な考え方です。

自動化の対象となる3つの業務

毎日の業務でみなさんが扱うモノは、大きく3つに分けることができます。Excel、Webアプリ、ブラウザ(デスクトップアプリ)の3つです。

これら3つの業務に対して、それぞれ適切なツールを当てはめていくのが基本です。

  • ExcelVBA、Power Query
  • Wenアプリ=Power Automate
  • ブラウザ、デスクトップアプリ=Power Automate for Desktop

VBAExcelを自動化するための技術ですし、Power AutomateはWebアプリ、PADはブラウザを自動化するための技術です。この基本を守っていれば何も複雑なことをしなくても、みなさんのやりたいことをスッとカンタンに実現することができます。

逆に勉強するのがあまりに難しい場合、その技術が本来目的としていないことをやろうとしている可能性を疑った方が良いかもしれません。自動化の技術はそんなに難しく作られていないはずです。

適切なツールを適切な場所で使えば、少ない勉強量でカンタンに業務がラクになる..というのが自動化技術のそもそもの設計です。

VBAOutlookを自動化する(?)

以前に『VBAOutlookのメールを自動化したい』とご相談をいただいたことがあります。

確かにVBAからOutlookを操作することは可能です。技術的に実現することは可能なのですが、それを本当にプログラミング初学者の方ができるかどうかは疑問です。

そもそもVBAExcelを自動化するための技術です。Excelのために開発された技術であり、Excelの業務ならカンタンに自動化することができます。しかしそれを超えてOutlookやブラウザを操作しようとすると、途端に難易度が上がります。VBAOutlookを自動化ために作られていないのです。

ですがPower AutomateならカンタンにOutlookのメール送信作業を自動化することができます。Power AutomateはOutlookを含むWebアプリを自動化するために作られた技術なので、VBAのように難しいコードを書かずとも、ブロックを組み立てるようにカンタンにOutlookを自動化できます。

業務選定を意識する

各ツールには向いている分野・領域が必ずあるので、まずは先ほどの表を元に、各ツールに向いていることを意識してみてください。

「とりあえずPythonを勉強しよう!」とか「VBAならOutlookを自動化できるっぽいからやってみよう!」と考えるのは危険です。むしろ「この業務はどの技術で自動化できるだろうか?」と業務ありきで考えるようにしてみてください。ここのスタート地点と方向性がしっかりと合っていれば、後は書籍やYouTube動画に乗っていけば、スッとやりたいことを実現できるはずです。

やりたいことを実現するのに勉強のハードルがあまりに高い場合は、業務の選定が間違っている可能性が高いので、そのまま応用編に突き進んでいく前に1回立ち止まり、「本当に適切なことをやっているか?」を意識してみてください。