ITで業務自動化を実現する(6) PowerAutomateでExcelを操作しよう
前回、 ITで業務自動化を実現する(5) Power AutomateでERPからレポートを出力する では、レポートの出力までを説明しました。
その出力したレポートを加工する操作を今回紹介したいと思います。
目次
今回使用する操作アクションについて
まず、PowerAutomateで今回使用する操作(アクション)について簡単に説明します。
Excelの操作
PowerAutomateには、Excel操作に関する様々なアクションが用意されています。
Excelの起動から、ワークシート新規追加・コピー・ペースト・削除・名前の変更など様々な操作が可能です。セルの範囲を指定して選択・コピー・貼り付けや、行や列の挿入・削除もできます。また、セルの範囲、ワークシートを変数として取得できます。最初の空の行と列を変数として取得したり、指定した列の最初の空の行を取得したり、アクティブなワークシートを変数として取得することも可能です。
ファイルやフォルダの操作
ファイルやフォルダに関するアクションも用意されています。コピー、移動、名前を付けて保存などが簡単に実行できます。
Outlookの操作
Outlookを起動や、メールの送信内容を事前に設定して、送信することが可能です。
今回のシナリオ
今回は、
クラウドERP「MA-EYES」から出力したレポートから、欲しい情報だけを転記して、新しいファイルを作成し、メールでファイルの作成を報告する
というフローを作成します。
レポートの出力までは ITで業務自動化を実現する(5) Power AutomateでERPからレポートを出力する を参考にしてください。
今回行う操作を細かく分解してみましょう。
- 出力したレポートの名前を変更して、作業用フォルダに保存する
- 作業用フォルダに移動したExcelファイルを起動する
- 転記したい部分を選択し、コピーする
- 貼り付ける先のExcelファイルを新しく起動する
- 選択した部分を貼り付ける
- 貼り付けが完了したら、名前をつけてファイルを保存する
- Outlookを起動する
- Outlookに先ほど作成したExcelファイルを添付して、メッセージを送信する
今回、Excel操作に関する部分はサブフローとして作成し、前回作成したレポート出力までのフローの次に実行します。今回は、「DLFile」というサブフロー名にしました。
全体イメージはこのようになります。
事前準備として、「MA-EYESから出力される帳票がダウンロードされるフォルダは空にしておく」、「作業用フォルダ(ここでは「PAtest」という名前のフォルダ)を作成しておく」、ことをしています。
それでは順に設定方法を確認していきましょう。
出力したレポートの名前を変更して、作業用フォルダに保存する
ここでは、
- アクションの「フォルダ」内にある「フォルダー内のファイルを取得」で、帳票がダウンロードされるフォルダを設定
- 「ファイル」内にある「ファイルの名前を変更する」で、先ほど取得したファイルの変数「File3」の名前を「転記元データ.xls」に変更
- 「ファイル」内にある「ファイルの移動」で、「転記元データ.xls」をフォルダ「PAtest」に移動
を設定します。
MA-EYESからダウンロードされたファイルのファイル名が毎回同じであれば、ファイルを直接指定して変更すればよいのですが、毎回異なるファイル名で出力されるため、フォルダ内にあるファイルを変数として取得してからファイル名を変更するという方法を取りました。
そのため、あらかじめダウンロードされるファイルを空にしておき、ダウンロードされた時点でフォルダ内にはファイルがひとつだけになるようにしています。
設定は下図のようにします。
これで、ダウンロードしたファイル名を「転記元データ.xls」に変更して、あらかじめ作成しておいた別の作業用フォルダ「PAtest」に移動することができました。
※機能の説明のために作業用フォルダに移動しておりますが、ダウンロードしたフォルダのままで作業しても問題ありません。
作業用フォルダに移動したExcelファイルを起動する
アクション「Excel」内にある「Excelの起動」でドキュメントパスを設定します。
図にあるように、Excelを起動すると、そのExcelファイルに変数が与えられます。ここでは「ExcelInstance」という変数になります。
開いたファイルを見てみましょう。
図の「会社名」の列と「氏名~住所」の列を、別のExcelファイルに転記したいと思います。
転記したい部分を選択し、コピーする
選択範囲は「C列」と「E列~K列」に分かれます。それぞれ1行目からセルの値がある行までの情報を取得したいので、あらかじめ、セルに値がある列までの情報を取得しておく必要があります。その方法として、アクション「Excel」内の「詳細」内にある「Excelワークシートから最初の空の列や行を取得」というアクションを利用します。ここで、対象となるExcelファイルの変数「ExcelInstance」選択して、変数「FirstFreeColumn」「FirstFreeRow」を取得します。
ここでは最初の空の行「FirstFreeRow」を使います。
「FirstFreeRow」のままだと、最初の空のセルがある行を指定してしまうので、「変数を小さくする」を設定し、「FirstFreeRow」の値を1小さくすることで、値のある最後の行を指定できるようになります。
※ここでは変数「FirstFreeRow」の値そのものを変更する方法を選びましたが、選択範囲の指定時に、%FirstFreeRow-1%とすることでも同じ結果が得られます。
それでは実際に選択範囲を設定していきましょう。
一つ目の選択範囲は 「列C行1から列C行%FirstFreeRow%」のように設定します。
選択範囲を設定したら、アクション「Excel」内「詳細」にある「Excelワークシートからセルをコピー」を設定します。
貼り付ける先のExcelファイルを新しく起動する
選択範囲をコピーしたら、貼り付ける先となる、新しいExcelファイルを起動します。新しく作成したExcelファイルも変数が与えられます。ここでは、「ExcelInstance2」とします。
選択した部分を貼り付ける
新しく作成したExcelの貼り付けたい位置、今回の場合は列A行1を指定して、貼り付けます。
同様に2つ目の選択範囲を「列E行1から列K行%FirstFreeRow%」とし、先ほどの隣の列B行1に貼り付けるように設定します。
これでシステムから出力された帳票のうち、欲しい情報だけを貼り付けた、新しいExcelファイルが出来上がりました。
貼り付けが完了したら、名前をつけてファイルを保存する
このファイルに名前を付けてExcelを保存します。今回は「NewFile」という名前を付けて指定のフォルダに保存します。
今回のフローではExcelを閉じる設定はしていませんが、開いているExcelを閉じたい場合は「Excelを閉じる」で設定します。2つのExcelファイルが開いているので、2回閉じる動作を行う必要があります。それぞれに当てられた変数「ExcelInstance」「ExcelInstance2」を設定して、保存方法等を選択して、閉じる操作を完了させます。
ここまでで、Excel操作に関するサブフローを終了します。
Outlookを起動する
メインフローに戻り、Outlookを起動します。
OutlookにExcelファイルを添付して、メッセージを送信する
「Outlookからのメールメッセージの送信」を設定します。ここでは送信元アカウント、宛先、CC、BCC、件名、本文、添付ファイルが設定可能です。
送信文章を入力し、先ほど作成したファイルを添付して、送るように設定しました。
全体図を見ます。サブフローとサブフローの間に「wait」をいれています。
システムやファイルの起動に時間がかかってしまい、起動前に次のフローへ進み、エラーとなる場合は、フローコントロールの中にある「wait」を使い、必要な秒数を設定しましょう。
これで、MA-EYESの起動、レポートの作成、メールで送信までの作業が自動化されました。
まとめ
今回は、比較的単純な、ExcelからExcelへのコピー&ペースト作業を自動化させました。
PowerAutomateは、初めて使う人でもある程度直感的な操作でフローを作成できますので、いきなり難しいことをしようとせずに、まずは感覚をつかむ意味で、このくらいのシンプルなフローをたくさん作るのが良いと思います。何ができるのかを把握していくことで、自分のタスクの中でも使えそうな場面が見えてくると思います。
例えば、「システムAから出力したcsvを、システムBのインポート用の書式に並び替えて、システムBにインポートする」といった作業が自動で実行できるようになります。
最初に設定してしまえばボタン一つで一連の作業が完了するので、作業時間の短縮になるのではないでしょうか。
RPAというと、敷居が高く、なかなか導入しづらいという声を聞くこともあります。その点、このPowerAutomateは無料で使えるので、気軽に始められるのもおすすめポイントです。この機会に、業務の自動化を一歩進めてみてはいかがでしょうか。
※Microsoft、Power Automateは、米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
※その他記載の商品名やサービス名は各社の登録商標または商標です。
筆者プロフィール
- 家電量販店でウィンドウショッピングするのが好きです。
最新記事一覧
【オンラインセミナー定期開催中】法改正、IT導入補助金、内部統制、業務の効率化など
いま解決したい課題のヒントになるかもしれません。ぜひお気軽ご参加ください!