Slide 1

Slide 1 text

デスクトップの自動化で目指す業務効率化 Power Automate DesktopとNode-RED連携で APIからExcelにデータ収集やってみた ワンフットシーバス 田中正吾

Slide 2

Slide 2 text

私の話はスライドを後ほど共有します。 話す内容に注力いただいて大丈夫です!

Slide 3

Slide 3 text

田中正吾(たなかせいご) 屋号:ワンフットシーバス 2004年よりフリーランス。以後、FLASH制作を 中心にインタラクティブコンテンツを主に行い現 在に至る。 最近ではWEBフロントエンドをベースにしなが らも、情報とインターフェースが合わさるアプ ローチという視点でIoTやMixed Realityといった 技術も取り入れながら活動しています。

Slide 4

Slide 4 text

インターネット上の情報を持ってきて 手元の Excel に保存してみる 今回は例としてユーロ為替情報を取ってきて Excel に保存します

Slide 5

Slide 5 text

Power Automate Desktopと Node-RED連携でAPIからExcelにデータ収集 Power Automate Desktop Node-RED (enebular editor) 為替 API

Slide 6

Slide 6 text

こんな感じで保存できる

Slide 7

Slide 7 text

Power Automate Desktop で データ取得して Excel にガンガン保存していく 実際に動かしてみる

Slide 8

Slide 8 text

為替 API の話 Power Automate Desktop Node-RED (enebular editor) 為替 API

Slide 9

Slide 9 text

Exchange Rates API https://exchangeratesapi.io/ が提供している色々な通貨の為替情報をフリーで提供してくれる

Slide 10

Slide 10 text

実際の様子 ユーロの為替情報を表示する API の URL https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/latest/currencies/eur.json

Slide 11

Slide 11 text

まず Power Automate Desktop の話 間に挟まる Node-RED (enebular editor) の話はこのあとで Power Automate Desktop Node-RED (enebular editor) 為替 API

Slide 12

Slide 12 text

Power Automate Desktop

Slide 13

Slide 13 text

Power Automate Desktop Power Automate ファミリーのひとつ https://powerautomate.microsoft.com/ja-jp/

Slide 14

Slide 14 text

コネクタ Webブラウザ上でコネクタを使って WEB サービス同士をつなげられる

Slide 15

Slide 15 text

Power Automate のクラウド フロー Webブラウザ上でコネクタを使って WEB サービス同士をつなげられて トリガー(きっかけ)とアクション(何かする)という構成でワークフローを作成する機能

Slide 16

Slide 16 text

Power Automate Desktop デスクトップと Web の操作をドラッグアンドドロップのフローを作って自動化するツール

Slide 17

Slide 17 text

今回の Power Automate Desktop は無償版のお話 Windows 10 に無償で手軽に入れれるけど、有償版と違って、作成したフローの共有や クラウド版 Power Automateサイトとの連携、接続クラウドフローとの連携による自動実行ができない Power Automate Desktop

Slide 18

Slide 18 text

アクションの様子 デスクトップで便利そうなアクションいろいろ

Slide 19

Slide 19 text

アクションの様子 外部サービスやWebとの連携もできる

Slide 20

Slide 20 text

「Web サービスを呼び出します」アクションで 為替 API のデータを取得してみた Power Automate Desktop 為替 API

Slide 21

Slide 21 text

データの取得はイイ感じだけど 取得後のデータ加工が結構大変だった プログラムで使う最低限の機能はあるけど(私の今のスキルでは)柔軟に扱えなさそう

Slide 22

Slide 22 text

Web から取得後の JSON データの加工に 強くないのでそれなりの気合が必要 実は JSON で受け取ったオブジェクトを for in で回したり難しい 配列は行けることはわかった、などなど

Slide 23

Slide 23 text

Power Automate Desktop の習熟は もちろん頑張りたいが、他と連携して模索したい! データ加工のところをうまくやりたい Power Automate Desktop 為替 API

Slide 24

Slide 24 text

間に挟まる Node-RED (enebular editor) の話 Power Automate Desktop Node-RED (enebular editor) 為替 API

Slide 25

Slide 25 text

Node-RED

Slide 26

Slide 26 text

IoTなど様々なAPI/Data連携をGUIで 直感的に構築できるオープンソースソフトウェア

Slide 27

Slide 27 text

Node-RED の画面

Slide 28

Slide 28 text

ノードをつないでフローという データの流れを作ります ノード ノード ノード

Slide 29

Slide 29 text

WEB まわりで使われる HTTP ノードもあります

Slide 30

Slide 30 text

API のデータ取得後のデータ加工についても いろいろな標準ノードがある split join で配列やオブジェクトを分解・結合したり、switch で分岐を作ったり、change でデータ加工したり

Slide 31

Slide 31 text

為替 API のデータを Power Automate Desktop で 使いやすくする橋渡しのフローはこんな感じ

Slide 32

Slide 32 text

扱いやすく加工する様子 Power Automate Desktop で扱いやすい JSON 配列にしつつ col1 , col2 という名称で Excel 列に当てやすく

Slide 33

Slide 33 text

地味だけど、まあまあ加工のための手順あるし 任せたのは良かったと思っている きっと取得したい API によって加工方法変わるだろうし Power Automate Desktop だけで頑張りすぎないのも自分にとっては良かった

Slide 34

Slide 34 text

なぜ enebular editor を使ったか Power Automate Desktop Node-RED (enebular editor) 為替 API

Slide 35

Slide 35 text

Node-RED のインストールは手軽とはいえ Node.js や npm が必要だったり手間はかかる みんなができるといいな、と考えると、もっとやりやすい方法を考えたくなる https://nodered.jp/docs/getting-started/local sudo npm install -g --unsafe-perm node-red

Slide 36

Slide 36 text

enebular を使うと他の人のフローを共有出来たり enebular editor ですぐ Node-RED を使える Node-RED に複数ユーザーで開発(フロー共有)したり運用面を包括的に支援するプラットフォーム https://www.enebular.com/ja/ Node-RED (enebular editor)

Slide 37

Slide 37 text

enebular の Discover Flow から持ってきています https://enebular.com/discover/flow/ef829af6-e61c-4e2c-8544-4bae73efe937

Slide 38

Slide 38 text

ということで動かしてみる Power Automate Desktop Node-RED (enebular editor) 為替 API

Slide 39

Slide 39 text

こちらを起動して使う http://localhost:1888/api でアクセスできる

Slide 40

Slide 40 text

Power Automate Desktop の仕組み

Slide 41

Slide 41 text

まず呼び出してデータを取得して 1行ごと動かすための変数 CurrentCount を用意

Slide 42

Slide 42 text

その後、1データごとループで回して Excel に書き込んでいく

Slide 43

Slide 43 text

もう一度、やってみる

Slide 44

Slide 44 text

ふりかえり Power Automate Desktop Node-RED (enebular editor) 為替 API

Slide 45

Slide 45 text

Node-RED と Power Automate Desktop で バランスよく自動化が作れた Power Automate Desktop Node-RED (enebular editor)

Slide 46

Slide 46 text

Power Automate Desktop は デスクトップの自動化に関しては多彩で素敵 Excel の読み書き、ダイアログや音を出したり Node-RED では手間がかかることが手軽にできる Power Automate Desktop

Slide 47

Slide 47 text

Node-RED はいろいろな API へつなぎやすく その後のデータ加工が得意 Power Automate Desktop では手間が多くなる部分がやりやすい Node-RED (enebular editor)

Slide 48

Slide 48 text

取得したい API が変わっても対応しやすそう つど Node-RED でデータ加工をうまくやり Power Automate Desktop がデータ保存を担う Power Automate Desktop Node-RED (enebular editor) 何かの API

Slide 49

Slide 49 text

2つのアプリの起動を忘れないなど注意点はある もちろん1ツールに寄せるのもアリだと思うし、こういう連携でやりたいことに辿り着くのもアリだと思う Power Automate Desktop Node-RED (enebular editor)

Slide 50

Slide 50 text

Excel 入力も色々できることがありそう 請求書を経理データから自動入力作成とか作業報告書とか予定表とかを自動で入れるとか Power Automate Desktop Node-RED (enebular editor)

Slide 51

Slide 51 text

Node-RED と Power Automate Desktop で よき業務自動化ライフを! Power Automate Desktop Node-RED (enebular editor)