AutoFor株式会社

AutoFor株式会社は業務プロセスを「自動化する」ことを通じて、働き方改革と企業の競争力強化に貢献します。その名前も、R.E.M.のアルバム「Automatic For The People」からインスピレーションを受け、「人々のための自動化」を意味する「Autofor」と名付けました。

業務改善を追求する全ての企業に対し、RPA技術を最大限に活用した解決策を提供します。私たちは、お客様のビジネスをより効率的にし、業績を向上させることを約束します。それは同時に、業務の質向上と生産性の向上をもたらします。

今後も私たちは、RPAを最大限に活用し、企業が自身のビジネスを進化させ、効率化し、生産性を高めることができるようなパートナーであり続けます。そして新たな働き方の時代を一緒に創り上げて参ります。

1.RPAによる業務改善コンサルティング

 

Autofor株式会社では、RPAを駆使した業務改善コンサルティングを専門に提供しています。お客様の業務プロセスを詳細に理解することから始め、個々のニーズに合わせた最適なRPAの導入計画を策定します。RPAの導入は、時間の短縮やコスト削減に直結しますが、私たちの目指すところは、それだけではありません。より高品質、より安全性の高い業務運営の実現を追求しています。私たちは、あなたのビジネスを全力でサポートし、一緒に業務改善を進めていきます。

 

2. RPAのエンジニア事業

RPAのエンジニア事業では、開発から保守に至るまで、全工程を一貫してカバーします。専門知識と経験豊富なエンジニアが、RPAの設計、開発、テスト、導入、そして保守といった一連の作業を遂行します。その全ては、最適なソリューションを提供し、お客様の業務改善と業績向上に資することを目指しています。

3. RPAの市民開発支援

“市民開発”は一般の個人や組織が、専門的な開発者ではないにも関わらず、自分たちの手でソフトウェアやアプリケーションの開発を行うことを指します。プロの開発者ではなく、一般市民がITツールを使いこなし、自らの課題を解決するためのソフトウェアを開発する動きを指す言葉となります。

RPAの市民開発支援では、初学者から経験者まで、全ての市民開発者を対象に幅広い支援を提供します。この市民開発者のために、私たちはオンラインによる開発ガイダンスやエラーハンドリングを通じて、RPA開発の障壁を取り払います。初心者でも安心してRPA市民開発に取り組めるよう、また市民開発過程で出会う様々な課題解決をサポートし、RPAを最大限に活用できる環境を整えます。

代表取締役

UiPath > メール本文から必要な情報だけを抽出する

要求 メール本文から必要な情報を抜き出して欲しい

RPAには基幹システムから自動送信されたメールを受診し、その本文の内容から必要なデータを読み込み、チェックするロボットがあります。

今回の要求は、受信されてくるメールの中から、以下のような情報を読み込んで欲しいと仮定します。

この赤枠の部分を抽出してなければならない。

ワークフロー 概要

このようなワークフローを使って、実際に文字列を抽出してみたいと思います。ポイントは「正規表現」と「一致する文字列を取得」アクティビティです。

正規表現を使って抽出する

このやり方にはいろんな抽出方法があります。例えば改行を1行1行ずつ分割するSplitメソッドの方法です。

その中でも今回は正規表現を使った抽出方法を使っていきましょう。

この赤枠で囲まれた単語は、どのような法則性を持っているでしょうか、まず一つは、先頭にコロンがついていること、そしてもう一つは最後が行末であることです。

コロンと行末の間に挟まれている任意の文字を抽出する

(?<=:).*(?=\r\n)

この正規表現を説明すると、
?<=:
コロンが前に位置している
.*
任意の文字が存在している
?=\r\n
行末が最後に位置している

正規表現チェッカーのサイトはこちらからです。
ちょっと改行のところが上手く認識しなかったので、 ドルマークで対応しています。

普通だったら正規表現ビルダーで見るんですけど、肯定否定の先読み後読みはちょっと対応していないみたいなので、正規表現チェッカーを使いました。

何も反応してくれない

一致する文字列を変数 matches で返す

「一致する文字列」アクティビティは入力した文字列を正規表現で検索し、一致した値を変数「Matches」型で変えてしてくれます。

今回は、そのMatches型を「matches」として返してみます。

「一致する文字列を取得」アクティビティを通過した後、 ローカルパネルの値を参照してみます。「matches」の中に配列として4つ格納されました。

Matches型は「0」から順番に変数の値を返してくれます。
次の代入アクティビティで「登録ID」から順番にmatches(0).ToString で返していきます。

余談 これでも、まだエラーハンドリングが足りない。

おそらく、これだけでも十分に実装することは可能でしょう。しかし、もっとテストケースを入念に行う場合、本当に「登録ID – 氏名 – 登録日時 – 登録URL」の順番なのだろうか?というケースも考えるべきです。(もしくは、システム側に問い合わせて、本当にこの順番に変動はないのか問い合わせてみてもいいかもしれません)

一応、今回はここまで。

目次