ここで紹介させて頂くのは、実際に、業務で作成したフローになります。(ブログで公開しても大丈夫なように、少々いじっていますが・・・)
このフローを作成するに至った経緯としては、社内の掲示板において、「PowerAutomateDesktopの無償版で自動化できるので、何か業務フローを改善したい方は私にご連絡下さい」みたいな告知をしたところ、他部署より、フロー作成のご依頼がありました。
その部署では元々、有料のUipathでフローを作成していたらしく、PowerAutomateDesktopで無料でできるなら、との理由でご依頼を受けました。
このフローを作成する途中で、PDFのダウンロードで使用するWebブラウザは、GoogleChromeよりMicrosoftEdgeの方が相性が良い、と学ぶことができました。
目次
1.フローの流れ
1.「EDINET検索リスト.xlsx」の準備
下図のように、EDINETコードと証券コードを記入したシート「EDINET検索リスト」を準備します。
2.「EDINET検索リスト.xlsx」の読込み
「EDINET検索リスト.xlsx」を起動し、シート「EDINET検索リスト」のデータ入力範囲の開始行や開始列を指定して読込みます。
3.EDINETの検索画面をMicroSoftEdgeで開く
EDINETの検索画面を、WebブラウザのMicroSoftEdgeで新規に立ち上げます。
EDINETの検索画面をGoogleChromeではなく、MicroSoftEdgeで開く理由としては、PDF保存との相性がEdgeの方が良かったからです。
Chromeだと、何度かPDF保存の操作を繰り返していると、その操作ができなくなるんですよね。
この点の原因は未だによくわかっていないので、ご存知の方は、お教え頂けるとありがたいです。
4.書類種別を指定する
ダウンロードの対象を有価証券報告書に絞ります。
PowerAutomateDesktopのMainフロー上は下図のようになってます。
5.EDINETコードと証券コードで検索
EDINETコードと証券コードで検索します。
ちなみに、EDINETコードのみでも検索可能ですが、証券コードのみだと、検索結果に複数の企業が表示される仕様になってます。
PowerAutomateDesktopのMainフロー上は下図のようになってます。
6.検索結果の取得
検索結果に「存在しません」の文字列を含む場合は、次の証券コード検索のループに進みます。
アクションの「条件」と「次のループ」を組み合わせることで、それ以降の処理をスキップして、次の検索に移ることができます。
下図のように、検索結果が表示された場合は、必要な要素を取得し、PDFの要素からURLを取得します。
PowerAutomateDesktopのMainフロー上は下図のようになってます。
7.PDFのダウンロード
前フローで取得したPDFのURLで、WebブラウザのEdgeを新規で立ち上げます。
立ち上がったPDFの画面に対してショートカットキーの「Ctrl + S」を押せば、「名前を付けて保存」の画面が表示されるので、入力フィールドに保存ファイル名を入力します。
PowerAutomateDesktopのMainフロー上は下図のようになってます。
すでに同一ファイルが存在する場合は、「名前を付けて保存の確認」画面が表示されるので、アクション「ウィンドウが次の条件を満たす場合」を使用して、「はい(Y)」ボタンをクリックします。
8.検索結果のExcelシートへの反映
取得した要素をExcelワークシートに反映させ、保存します。
2.参考フロー
以下の「EDINETから有価証券報告書を保存するフロー.txt」の中身全体をコピーし、PowerAutomateDesktopのMainフローに張り付ければ、そのまま実行できます。
EDINETから有価証券報告書を保存するフロー.txt
EDINET検索リスト.xlsx