AXIS合同会社代表(熊本在住40代おっさん)が日々戯言を書きなぐるブログです。
RPA入門 Macro man を使ってみました

RPA入門 Macro man を使ってみました

どもども、知らない事と興味が惹かれないものにはとことん無知なはっし~だす。

まえおき ※長くなったので飛ばして構いません・・・

今回は、RPA(ロボティック・プロセス・オートメーション)というものをほとんど知らなかったのでちょっと調べてみようと思います。
そもそもRPAに何故そこまで興味を持たなかったのかというと、以前業務システム系の仕事をしている頃あたりから徐々に普及?していったERP(エンタープライズ・リソース・プランニング)あたりと同じ感じがして興味を持たなかったのだと思います。

ERPって一言でいえば企業の全部をシステム管理しますよって事で、専用で開発すれば当然使いやすいものができるわけです。
ですがパッケージ化して途端にうまくマッチしない事が多々あるわけですよ。そりゃ10社あれば10通りの業務フローがあるわけで、それに沿って改修なんてそうそうできないわけです。そもそも裏帳簿もシステムで作れるでしょ?とか無茶ぶりされる顧客にシステム導入を機に業務改善しましょう!なんて言う気にもなりませんよ。

ただERPも普及し始めて20年近く経つのかな?新たに立ち上げた企業が導入する分には心強い味方になりえるので、もうかなり普及はしているでしょうね。

私自身も15・6年前に地元の先輩がやってる会社のシステムを作って今も動いてはいます。(2年くらい前に作り直しましたけど)EPRと呼ぶにはちょっと機能不足って感じですが、請求書発行以外はほぼ使われていないのが現状で・・・私の力不足ですはい・・・。
まあ、そのくらい中小企業のITスキルがそこまで高くないユーザーには色々敷居が高いんですよね~。新システムと旧業務の2重に作業しないと移行できないものもあったりするので、忙しい人にそれをやれとは言えません。

おっと話がそれ過ぎました。まあそんな感じでRPAも導入で苦労が多いのではないかと推測するわけですよ。社長がやる気満々で導入決めたけど、使う事務方の人はん~みたいな感じだと無理でしょ?みたいなね。ビジネスとしてはサポートが大変そうですよね。
そういう話も知らないのに決めつけるわけにはいかないので今回は使ってみてシャント評価しようじゃないか!って思い立ったわけです。

RPAとは

ロボティック・プロセス・オートメーション(robotic process automation、RPA)は、ソフトウェアロボット(ボット) または仮想知的労働者(digital labor)と呼ばれる概念に基づく、事業プロセス自動化技術の一種である。デスクトップ作業のみに絞ったものをロボティック・デスクトップ・オートメーション(RDA)と呼び、RPAと区別することもある。
従来のワークフロー自動化ツールでは、ソフトウェア開発者は、アクションリストを作成してからアプリケーションプログラミングインターフェイス(API)や専用のスクリプト言語を使用して、タスクの自動化とバックエンドシステムとのインターフェイスを構築する。一方、RPAシステムは、ユーザーがアプリケーションのグラフィカルユーザーインターフェイス (GUI)でそのタスクを実行するのを監視・識別してアクションリストを作成し、記録したタスクをGUI上で直接繰り返すことで自動化を実行する。これにより、APIを備えていない製品で自動化を使用する際の障壁を低くすることができる。
RPAツールは、グラフィカルユーザーインターフェイステスト自動化ツールと技術的にとても似ている。テスト自動化ツールも、多くの場合、ユーザーが実行するGUI操作を繰り返すことで自動化を行う。 RPAツールは、請求書が添付された電子メールの受信、データ抽出、 簿記システムへの入力など、複数のアプリケーション間でデータを処理できる機能がある点で、これらのテスト自動化ツールとは異なる。

ウィキペディアより

ふむ、GUIでマクロ登録するイメージで良さそうですね。まあ百聞は一見に如かずという事で、早速使ってみましょう。

今回試してみるのは、完全無料の次世代RPA『マクロマン』

可愛いですね。っというか名前にすでにマクロと入っています。なんと分かりやすいネーミングでしょう。
選択した理由は無料で使えるRPAを調べて最初に目に入ったからです。深い理由は1ミリもありません。

そして動作環境は思ったより高くはないけど、windows10Proのみなんですね。
いや今から試してみるんで、これ以上の情報ないですわ、すいません。

ダウンロード・セットアップ

  1. トップページにあるダウンロードボタンをクリックしてフォーム画面へ。必須項目を入力して送信。
    次の確認ページで問題なければそのまま送信。ん?わざわざ隠しても意味ねーかこれ。なんか癖で隠しましたけどw
  1. 送信するとメールが送られてきますので、本文のインストールはこちら下のURLをクリック。
  1. ダウンロード画面で登録したメールアドレスを入力、規約を読んで「同意します」を選択して「ダウンロード」ボタンをクリックします。次の確認画面で「送信」ボタンをクリック。
  1. さあダウンロード開始か!っと思いきや再度リンクをクリックします。(ちょっと遷移が多くないか?!)
    setup.zipというファイルをダウンロードするので、適当な場所に保存して解凍してください。
  1. 解凍したフォルダ内に「MACROMAN_setup.exe」ファイルがあるので実行します。
  1. インストーラーの言語選択で「日本語」を選択して「OK」。インストール先を確認して「OK」。
  1. 今回はデスクトップにアイコンを作成してほしいので、チェックを入れて「次へ」をクリック。
    「インストール」をクリック
  1. インストールが始まります。(すぐに終わりました)
    すぐに確認するので、チェックが入ったまま「完了」をクリック。


MACROMANで遊んでみる。

  1. セットアップの最後でチェックを入れていれば、そのまま起動します。
    チェックを入れなかった場合は、スタートメニューに作成されていますので、そちらから実行してください。
  1. 初回起動時には「スクリプトフォルダを作成しますか?」と聞かれるので、ドキュメントフォルダで問題なければ「Yes」をクリックします。
  1. 起動しました。シンプルな画面ですね。
    とりあえず全くこのソフトの知識がない状態でいじってみましょう!
    どれだけ分かりやすく作ってあるかは、何も知らない状態で触るのが一番ですよね?(ただメンドクサイだけ)
  1. そのまま作成できそうなメッセージが書いてあるので、Excelコマンドを試してみましょう。
    最初は「EXCELの開始」が必要そうなので、ダブルクリックすると[コマンドの追加]画面が出ます。
    インスタンス名が必須そうなので、「excel」とコメントを一応入れておきましょうか。
    そして「OK」をクリックします。
  1. コマンドが追加されました。
    うん完全にビジュアルプログラミングのノリですな。
  1. この調子でどんどん追加していきます。変数を使用する場合はあらかじめ登録しておく必要があるようです。
    ただ「使用するときは、名前を指定した括弧で囲んでください。」この記述はひどいな・・・。
    {}で指定するルールのようです。自動で出てくるから問題ないのか・・・
  1. とりあえず、こんな感じで作ってみました。
    それぞれにインスタンス名が必要なのは、それぞれがひとつのクラスとして動いている感じなのでしょうかね。
  1. 実行してみます。「保存して実行」で大丈夫なのでしょう。
  1. 作成したスクリプトを「test」という名前で保存します。XML形式でスクリプトを保存しているのですね。
  1. 実行中の表示が右下に表示されます。
  1. ん?そのまま消えました。。。そうか自動実行できるからメッセージ出ない方がいいのか。
    確認してみましょう。
  1. 変わってねえ・・・。ちょっと見直すかー
    恐らく各処理にインスタンス名を何となく書いたけど、順当に行ったらエクセル開始の時に書いたものがエクセル処理のインスタンスなので、そいつを使わないとおかしいですよね。(今回の処理のインスタンス名はすべて{excel}へ変更。)
    あと変数を使うように変更しました。Excel処理のインスタンスとシート名とセル値用ですね。
  1. 残りは絶対動かないと自信をもって書いた行書き込みにカンマ区切りで書いたところは消し去りました。
    こんな感じです。
  1. それに設定見てたら、デバッグ表示ができそうなので設定を変更。
    「オプション」→「設定」→「自動化設定タブ」を以下に変更。
  1. これでいけるはず!!! おお!正常終了!これなら好き勝手弄ってもどうにでもできそう!
    ※適当にエラー吐かせても、行ダブルクリックで一応エラー内容は確認できました。
  1. Excelもちゃんと更新されてますね。

以下が今回確認したスクリプトです。指定した処理と変数設定くらいしかありませんね。
まあ、ものすごくシンプルな処理なんで参考にはならないでしょうけど・・・。

<?xml version="1.0" encoding="utf-8"?>
<Script xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Commands>
    <ScriptAction>
      <ScriptCommand xsi:type="ExcelCreateApplicationCommand" CommandID="b6e37384-f7e1-4d97-81f0-9036be9bdd98" CommandName="ExcelOpenApplicationCommand" IsCommented="false" SelectionName="EXCELの開始" DefaultPause="0" LineNumber="1" PauseBeforeExeucution="false" v_Comment="Excelインスタンス" CommandEnabled="true" v_InstanceName="{excel}" />
    </ScriptAction>
    <ScriptAction>
      <ScriptCommand xsi:type="ExcelOpenWorkbookCommand" CommandID="417e1d2e-e519-4e3c-9afd-fa7e8300e635" CommandName="ExcelOpenWorkbookCommand" IsCommented="false" SelectionName="ブックを開く" DefaultPause="0" LineNumber="2" PauseBeforeExeucution="false" v_Comment="ファイルを開く" CommandEnabled="true" v_InstanceName="{excel}" v_FilePath="C:\Users\hashi\Documents\MACROMAN\test.xlsx" />
    </ScriptAction>
    <ScriptAction>
      <ScriptCommand xsi:type="ExcelActivateSheetCommand" CommandID="cf721386-30d2-4697-8a33-a3e54104ccef" CommandName="ExcelActivateSheetCommand" IsCommented="false" SelectionName="シートの指定" DefaultPause="0" LineNumber="3" PauseBeforeExeucution="false" v_Comment="Sheet1シート選択" CommandEnabled="true" v_InstanceName="{excel}" v_SheetName="{sheet}" />
    </ScriptAction>
    <ScriptAction>
      <ScriptCommand xsi:type="ExcelSetCellCommand" CommandID="989d925e-5a77-4ece-886b-478bf423585d" CommandName="ExcelSetCellCommand" IsCommented="false" SelectionName="セルに値をセット" DefaultPause="0" LineNumber="4" PauseBeforeExeucution="false" v_Comment="A1←"testA1"" CommandEnabled="true" v_InstanceName="{excel}" v_TextToSet="testA1" v_ExcelCellAddress="A1" />
    </ScriptAction>
    <ScriptAction>
      <ScriptCommand xsi:type="ExcelGetCellCommand" CommandID="671b0e03-a636-4028-900a-7e2eadc7da28" CommandName="ExcelGetCellCommand" IsCommented="false" SelectionName="セルの値をゲット" DefaultPause="0" LineNumber="5" PauseBeforeExeucution="false" v_Comment="A1→{val}" CommandEnabled="true" v_InstanceName="{excel}" v_ExcelCellAddress="A1" v_userVariableName="{val}" />
    </ScriptAction>
    <ScriptAction>
      <ScriptCommand xsi:type="ExcelSetCellCommand" CommandID="0a45d7ba-d586-4fbc-90e7-1d62aa23a4d6" CommandName="ExcelSetCellCommand" IsCommented="false" SelectionName="セルに値をセット" DefaultPause="0" LineNumber="6" PauseBeforeExeucution="false" v_Comment="{val}→A2" CommandEnabled="true" v_InstanceName="{excel}" v_TextToSet="{val}" v_ExcelCellAddress="A2" />
    </ScriptAction>
    <ScriptAction>
      <ScriptCommand xsi:type="ExcelSaveAsCommand" CommandID="425f9cfa-7c48-43b3-8c32-9f5070ab6d2a" CommandName="ExcelSaveAsCommand" IsCommented="false" SelectionName="名前を付けて保存" DefaultPause="0" LineNumber="7" PauseBeforeExeucution="false" v_Comment="save test.xlsx" CommandEnabled="true" v_InstanceName="{excel}" v_FileName="C:\Users\hashi\Documents\MACROMAN\test.xlsx" />
    </ScriptAction>
    <ScriptAction>
      <ScriptCommand xsi:type="ExcelCloseApplicationCommand" CommandID="7f1f0afb-7d48-4447-81d9-c5dae1d251d1" CommandName="ExcelCloseApplicationCommand" IsCommented="false" SelectionName="閉じる" DefaultPause="0" LineNumber="8" PauseBeforeExeucution="false" CommandEnabled="true" v_InstanceName="{excel}" />
    </ScriptAction>
  </Commands>
  <Variables>
    <ScriptVariable>
      <VariableName>excel</VariableName>
      <VariableValue xsi:type="xsd:string"></VariableValue>
    </ScriptVariable>
    <ScriptVariable>
      <VariableName>sheet</VariableName>
      <VariableValue xsi:type="xsd:string">Sheet1</VariableValue>
    </ScriptVariable>
    <ScriptVariable>
      <VariableName>val</VariableName>
      <VariableValue xsi:type="xsd:string"></VariableValue>
    </ScriptVariable>
  </Variables>
</Script>

まとめ

こ、今回はExcel操作だけやりましたが、Word・ブラウザとかその他色々用意されていますね。
プログラマ視点で見るとさすがに、使い方覚えてまで使う必要性は感じませんが、プログラム分からない人や初級者は・・・

インスタンスとか変数とか結局プログラムの勉強から入らないと無理じゃねーか!!!

データベース接続できるじゃん?って思って見たけど、当然のように接続文字列欄とかそのまんまだったしなー。
無償ツールなので贅沢は言えないけど、ちょっとこれは厳しいかな。

micro:bitとかのビジュアルプログラミングの方が全然分かりやすいと思うし、他にも活きるのかなと思いました。

活用されているからこそ、色々なツールが出ているのだろうから他のツールだとものすごくいいものがあるかもしれません。
他を試すことはまずないとは思いますが、このツールはもう少し遊んでみてまた評価が変わるようならまた書きます。

でわでわ

LINEで送る
Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です