UiPathプラットフォームでは、ウェブシステム、デスクトップアプリ、Excel、PDF、データベース、APIなど、さまざまなシステムの自動化が可能です。
このコースでは、これらのシステムを自動化するために必要なコアスキルについて説明します。
プロジェクト構成
UiPathで使用されるワークフロー設計には、主に3つのコンテナオプション(Sequence、Flowchart、State Machine)が存在します。それぞれのコンテナは、プロセスの特性や要件に応じて使い分けることが重要です。

これらのコンテナのメリット・デメリット:
Container Type(コンテナの種類) | メリット(PRO) | デメリット(CON) |
---|---|---|
Sequence(シーケンス) | – 操作が最も簡単 – 他のアクティビティ内で埋め込まれることが多い | – 前のプロセスステップに戻る機能がない(対策としてRetry ScopeやTry/Catchを使用可能) |
Flowchart(フローチャート) | – プロセスフローを視覚化しやすい – 前のプロセスステップに戻ることが可能(例:重大なエラー後に全アプリを再オープン) | – 操作がやや煩雑になる |
State Machine(ステートマシン) | – 組み込み機能による強力な操作が可能 – 条件分岐(if/then/else)が内蔵されたフローチャートに似ている | – 操作がかなり複雑(詳細は別の記事で紹介します) – ReFrameworkエンタープライズテンプレートの基盤 |
シーケンス基本
もっとも使いやすいワークフローです。シーケンス内に並べたアクティビティは自動で接続され、上から順に実行されます。シーケンスは簡単です。
ただし、分岐が複雑な処理をシーケンスに書くと、読みにくくなることがあります。このようなときには、フローチャートを使います。

フロチャート基本
フローチャートは、ワークフローのフローを視覚的に表現し、判断ポイントと全体像をよりわかりやすく示すのに役立ちます。
フローチャートは大規模なジョブから小規模なプロジェクトまでのさまざまな設定で使用でき、他のプロジェクトで再利用することもできます。
フローチャートの最も重要な特徴は、シーケンスとは異なり、複数の分岐論理演算子を使用できる点です。そのため、複雑な業務プロセスを作成したり、アクティビティを複数の方法で接続したりすることができます。

ステートマシン基本
複数の状態と、その状態を遷移する条件を定義することで、状態の管理が行いやすくなります。
ただし、一般にRPAで自動化する処理はステートマシンで記述しにくいことが多いため、本記事では扱いません。
ロボット内外のコミュニケーション
業務プロセス自動化(RPA)において、ロボットとユーザー、またはロボット同士が効果的にコミュニケーションを取ることは、プロセスの正確性と効率性を向上させるために非常に重要です。UiPathでは、以下の3つの方法を活用してロボット内外のコミュニケーションを管理することができます。
方法(アクティビティ名) | 特徴 | メリット | 注意点・活用例 |
---|---|---|---|
メッセージをログ | ロボットの動作履歴を記録 | – 問題特定が容易- ログレベル調整が可能 | – エラーや重要情報を適切にログに記録する |
メッセージボックス | ユーザーに通知を表示 | – 即時的なアラートが可能- インタラクティブ操作 | – 無人化プロセスでは使用を控える- 重要な決定時に表示 |
ステータスを報告 | 実行状況をリアルタイムで報告 | – プロセス全体の進行状況を把握- 異常検知が可能 | – ダッシュボードやメールで進捗を管理する |
メッセージをログ
指定した診断メッセージを指定したレベルで書き込みます。これらのメッセージは Orchestrator にも送られて [Logs] ページに表示されます。
アクティビティ:

Orchestratorでのログ:

メッセージボックス
指定したテキストとボタン オプションが付いたメッセージ ボックスを表示します。
アクティビティ:

実行中表示されたメッセージボックス:

ステータスを報告
実行中のプロセスのカスタム ステータスを UiPath Assistant に表示します。
アクティビティ:

Assistant側での表示:

テキストファイルの読み込み
UiPathでテキストファイルを読み込む場合、Read Text File
アクティビティを使用します。このアクティビティは、指定したテキストファイルの内容を読み取り、変数に格納できます。
例:テキストを読み込んで、メッセージボックスに出力します。

読み込んだテキストデータを加工した後、Write Text File
を使用して別のテキストファイルに保存可能。
UiPathを使用すると、テキストファイルを簡単に読み込み、加工し、他のファイル(テキスト・Excel)へ書き込むことができます。これにより、データ処理の自動化やログ管理、レポート作成が効率的に行えます。
タスクの繰り返し
一部のプロセスは1回のタスクを実行して終了するが、多くの「長時間実行される」プロセスは複数のデータ行(ファイル、メール、Excelの行、データベースの行など)に対して同じ処理を繰り返す。
繰り返しアクティビティ一覧
以下の表は、UiPath Studioで使用できる繰り返し処理のアクティビティとその概要です。
アクティビティ | 説明 | 主な用途 |
---|---|---|
For Each | コレクション(配列、リスト、データテーブルなど)の各要素を順番に処理する | 配列やリストのデータを1つずつ処理する |
For Each Row in DataTable | DataTable(データテーブル)の各行を繰り返し処理する | Excelやデータベースの行を順に処理する |
While | 条件がTrue の間、処理を繰り返す | 特定の条件が満たされるまでループを続ける |
Do While | 1回は必ず実行し、その後条件がTrue なら繰り返す | 少なくとも1回の処理を保証し、条件に応じて継続する |
Parallel For Each | コレクション内の要素を並列で処理する | マルチスレッド処理を活用し、速度を向上させる |
Retry Scope | エラーが発生した場合、指定回数までリトライする | ネットワークやUI操作での一時的なエラーに対応 |
Break | For Each や While のループを途中で停止する | 特定の条件に達した時点でループを終了する |
Continue | For Each ループの現在の繰り返しをスキップし、次の繰り返しへ進む | ループ内で特定の条件を満たした場合に、次の要素へ移る |
補足
For Each
やFor Each Row in DataTable
は、リストやデータテーブルのデータを処理するのに頻繁に使用されます。While
やDo While
は、特定の条件が満たされるまで繰り返す処理で役立ちます。Parallel For Each
を使用すると、大量のデータを並列処理して速度を向上できます。Retry Scope
は、エラー発生時のリトライ処理に便利です。
以下の記事では、データテーブル内の要素を繰り返して、システムに入力をしていました。
UiPathで適切なループアクティビティを活用することで、効率的なワークフローを設計できます!
メール送信
UiPathでのメール送信の自動化
メール送信の自動化は、UiPathを活用して業務プロセスを効率化する重要なタスクの一つです。日常業務では、通知の送信、レポートの配布、エラーログの共有など、多くのシナリオでメールが使用されます。
UiPathでは、さまざまなメールプロバイダー(Outlook、Gmail、SMTP、Exchangeなど)をサポートし、メール送信・受信・添付ファイルの処理を自動化できます。
アクティビティ一覧
アクティビティ名 | 説明 | 主な用途 |
---|---|---|
Send Outlook Mail Message | Microsoft Outlook を使用してメールを送信する | Outlook クライアントを利用したメール送信 |
Send SMTP Mail Message | SMTP(Simple Mail Transfer Protocol)を使用してメールを送信 | Gmail, Yahoo, Office365 など外部サービスとの連携 |
Send Exchange Mail Message | Exchange Server を経由してメールを送信 | 企業のExchange環境でメール送信 |
Send IMAP Mail Message | IMAP(Internet Message Access Protocol)を利用してメールを送信 | IMAP対応のメールサーバーとの連携 |
Send Gmail Message | Google APIを使用してGmailからメールを送信 | Gmailの送信を簡単に自動化 |
Get Outlook Mail Messages | 受信トレイのメールを取得 | 受信したメールの処理、フィルタリング |
Get IMAP Mail Messages | IMAPプロトコルを使用してメールを取得 | GmailやIMAP対応のサーバーからメール取得 |
Get Exchange Mail Messages | Exchange Serverのメールを取得 | 企業のExchange環境で受信メール処理 |
Get POP3 Mail Messages | POP3(Post Office Protocol 3)を使用してメールを取得 | POP3サーバーからのメール取得 |
メール送信の目的
UiPathを使ったメール送信の自動化には、以下のような目的があります。
- 通知の自動送信
- エラーログの通知
- 重要なワークフローの完了通知
- レポートの自動配布
- ExcelファイルやPDFレポートを添付して送信
- 定期的な業務報告の送信
- 問い合わせ対応の自動化
- 受信メールの内容を解析し、自動返信
- 顧客からの問い合わせに対してテンプレートを使った返信
- データ処理のトリガー
- メール受信をトリガーにしてワークフローを開始
- 受信した添付ファイルを処理し、結果を送信
3. サンプル: Outlookを使用したメール送信
サンプルコード
以下のワークフローでは、Outlookを使用してメールを送信します。
手順
Send Outlook Mail Message
(Outlookメールメッセージを送信) アクティビティを追加- プロパティを設定
To
:"example@example.com"
Subject
:"UiPathでのメール送信テスト"
Body
:"このメールはUiPathの自動化プロセスで送信されています。"
Attachments
:{"C:\UiPath\report.xlsx"}
(添付ファイルの入力)
実行結果
example@example.com
にメールが送信され、添付ファイルreport.xlsx
が追加されます。
UiPathを使用すると、メール送信・受信の自動化を簡単に実装できます。Outlook、Gmail、Exchange、SMTPなど、利用環境に応じたアクティビティを選択し、業務の効率化やエラーの削減を実現できます。
また、添付ファイルの処理や条件分岐を組み合わせることで、より高度なメール自動化が可能になります。
最後に
本記事では、UiPath開発の基礎スキルとして、プロジェクト設計、データ処理、繰り返し処理、メール送信の自動化 などの重要なポイントを解説しました。これらのスキルを活用することで、業務プロセスの自動化をより効率的に実現できます。
次のステップとして、実際のプロジェクトでこれらの機能を組み合わせ、より高度な自動化を目指しましょう!