参考:
https://docs.uipath.com/studiox/docs/tutorial-comparing-excel-files-and-emailing-reconciliation-errors
※ このページは、UI-Path Stadio X を学習する際、チュートリアルが英語で、掲載されている画像が少なかったので、「google翻訳《を基に、「学習過程で保存した画像《を追加しアップしました。(原文は省略)
チュートリアル:
Excelファイルでの比較と上一致エラーをメール送信
(スプレッドシート「Invoice《の金額と「supplier《毎を集計したCSVファイルの金額を
比較するオートメーションを作成)
上一致の場合は、その詳細のCSVファイルを作成し、メール送信します。
処理の概要
使用するアクティビティ
- [Outlookアカウントカード]アクティビティ
(メール送信のするためOutlookアカウント)
- [Excelファイルカード] アクティビティ-1
- [Excelファイルカード]アクティビティ
(データを比較し、上一致部分を調べるもの。2つのファイルからこのファイルにコピーするアクティビティを追加)
- [セルに書き込み]アクティビティ
- (Excelファイルに2つの列見出しを追加し、[Invoices]の[supplier]毎の合計額と[summary]のデータとの差額を計算)
- 上の[supplier]の行の数式をコピーし、すべての[suppliers]の行に数式を貼り付けする
- [条件分岐]アクティビティ
(一致しないものがある場合、CSVファイルを作成し、指定したアドレスにメールで送信するという条件を追加)
詳細説明
Step 1: プロジェクトをセットアップし、必要なファイルを取得
- 新しいプロジェクトを作成

-
チュートリアルで使用するファイルをダウンロード・解凍
[プロジェクトフォルダ]に[DoubleUI.xlsx]をコピーし、[DoubleUI.exe]をダブルクリックして、[DoubleUI]アプリケーションを開く
Step 2: [invoices]のExcelファイルとOutlookアカウントをプロジェクトに追加
- [デザイナーパネル]の
をクリック--->画面上部の検索ボックス--->[共通シナリオ]セクション--->
[Use Outlook Account]をダブルクリック
[Outlookアカウントカード]アクティビティがデザイナーパネルに追加

- [メールアカウントの選択]フィールドには、既に[既定のメールアカウント]が選択
別のアカウントを使用したい場合--->ドロップダウンメニューから選択
[参照吊として指定]--->[Outlook] (オートメーション内で使用する吊前)

- [Outlookアカウントカード]アクティビティ下の
をクリック
--->[共通シナリオ]セクションの[Use Excel File]をダブルクリック--->[data]フォルダー内の[invoices.xlsx]を選択
[Excel ファイルカード]アクティビティがデザイナーパネルに追加

- [参照吊を指定]には、[Invoices]と指定 (オートメーション内で使用する吊前)

Step 3: 上一致部分を調べるExcelファイルを追加
- [Excelファイルカード]内の
をクリック
--->画面上部の検索ボックスの[共通シナリオ]セクションで[Use Excel File]をダブルクリック--->[reconcile.xlsx]を選択
[Excelファイルカード]アクティビティがデザイナーパネルに追加

- [参照吊を指定]フィールド--->[Rec]と入力 (オートメーション内では[Rec]という吊前で使用)

- 2番目の[Excelファイルカード]内の
をクリック
--->画面上部の検索ボックスで[CSVを読み込み]アクティビティをダブルクリック)
アクティビティが[Excelファイルカード]内に追加

-
- [読み込み元ファイル]フィールドの
ボタン(①)クリック
--->[summary.csv]を選択

- [出力先]フィールド右側の
ボタン(②)クリック--->[Rec] > [Summary[シート]]を選択します。)

[出力先]フィールドは、[[Rec] Summary]と表示 ([summary.csv]を入力し、ファイル[Rec]のシート[Summary]に出力
- 2番目の[Excelファイルカード]内にある[CSVの読み込み]アクティビティ下の
をクリック
--->画面上部の検索ボックスで[範囲をコピー/貼り付け]アクティビティをダブルクリック
[Excelファイルカード]内に [範囲をコピー/貼り付け]アクティビティが追加

-
- [元の範囲]フィールド右側の
ボタン(①)をクリック
--->[Invoices] > [Invoices[シート]]を選択
フィールドには、[Invoices]Invoices]と表示
(ファイル[Invoices]のシート[Invoices]を入力)

- [対象範囲]フィールド右側の
ボタン(②)をクリックし
[Rec] > [[Invoices]シート]を選択
フィールドには、[[Rec]Invoices]と表示
(ファイル[Rec]のシート[Invoices]に出力)

Step 4: データを比較
- [アクティビティパネル]内の[Excel]タブの[セルに書き込み]を、
2番目の[Excelファイルカード]の下部にドラッグ&ドロップ
([セルに書き込み]アクティビティがデザイナーパネルに追加)

- [セルに書き込み]アクティビティで
- [書き込む内容]フィールド右側の
ボタンをクリックし、[テキスト]を選択
[テキストビルダー]で、[Calculated Amount]と入力

- [書き込む場所]フィールド右側の
ボタンをクリックし、
[Rec] > [Excel内]で示す]を選択
[Summary]シートの[C1]セルを選択し、[Confirm]をクリック
(フィールドには、[[Rec]Summary!C1]と表示)

(ファイル[Rec]のシート[Summary]のセル[C1]に[Calculated Amount]と文字を入力)

- 2番目の[セルに書き込み]アクティビティを追加
- [書き込む内容]フィールド右側の
ボタンをクリックし、[テキスト]を選択
[テキストビルダー]アクティビティで、[=IF(A2 <> "", SUMIF(Invoices!B:B,A2,Invoices!C:C),"")]と入力
- [書き込む場所]フィールド右側の
ボタンをクリックし、[Rec] > [Excelで示す]を選択
Excelが開きます。[C2]セルを選択し、[Confirm]をクリック
(フィールドには、[[Rec]Summary]!C2]と表示)

([=IF(A2 <> "",SUMIF(Invoices!B:B,A2,Invoices!C:C),"")]という式をファイル[Rec]のシート[Summary]のセル[C2]に入力)
(この式は、[supplier]列のセル[A2]に入力がある場合、シート[Invoices]の[A2]([supplier])である[C列](Amount)の合計を計算)
- 3番目の[セルに書き込み]アクティビティを追加
- 3番目の[セルに書き込み]アクティビティを追加
[書き込む内容]フィールド右側の
ボタンをクリックし、[テキスト]を選択
[テキストビルダー]アクティビティで、[Difference]と入力
- [書き込む場所]フィールド右側の
ボタンをクリックし、[Rec] > [Excelで示す]を選択
Excelが開きます。セル[D1]を選択し、[Confirm]をクリック
フィールドには、[[Rec]Summary!D1]と表示

(ファイル[Rec]のシート[Summary]のセル[D1]に[Difference]と入力)
- 4番目の[セルに書き込み]アクティビティを追加
- [書き込む内容]フィールド右側の
ボタンをクリックし、[テキスト]を選択
[テキストビルダー]アクティビティで、[=IF(A2 <> "",C2-B2,"")]と入力
- [書き込む場所]フィールド右側の
ボタンをクリックし、[Rec] > [Excelで示す]を選択
Excelが開きます。
[D2]セルを選択し、[Confirm]をクリック
(フィールドには、[[Rec]Summary!D2]と表示)

(ファイル[Rec]のシート[Summary]のセル[D2]に[=IF(A2 <> "",C2-B2,"")]という式を入力)
(この式は、[supplier]列のセル[A2]に入力がある場合、[C2]と[B2]の差額を算出)
- 最後の[セルに書き込み]アクティビティの下の
をクリックし、[範囲をコピー/貼り付け]アクティビティをダブルクリック
[範囲をコピー/貼り付け]アクティビティがデザイナーパネルに追加
- [範囲をコピー/貼り付け]アクティビティで
- [元の範囲]フィールド右側の
をクリックし、[Invoices] > [Excel内で示す]を選択
Excelが開きます。
[C2:D2]の範囲を選択し、[Confirm]をクリック
フィールドには、[[Rec]Summary!C2:D2]と表示
- [対象範囲]フィールド右側の
をクリックし、[Rec] > [Excel内で示す]を選択
Excelが開きます。
[C3-D20]の範囲を選択し、[Confirm]をクリック
フィールドには、[[Rec]Summary!C3-D20]と表示
- [コピーする内容]フィールドのドロップダウンメニューより、[Formulas]を選択

([C2:D2]の範囲コピーし、その下の列に数式を貼り付け)
- [アクティビティ]パネルで[Excel]タブを選択し、[セルに書き込み]アクティビティを[範囲をコピー/貼り付け]の下部にドラッグ&ドロップ
[セルに書き込み]アクティビティが[デザイナーパネル]に追加
- [セルの書き込み]アクティビティで
- [書き込む内容]フィールド右側の
ボタンをクリックし、[テキスト]を選択
[テキストビルダー]で、[=SUM(Summary!D:D)]]という式を入力
- [書き込む場所]フィールド右側の
をクリックし、[Rec] > [Excel内で示す]を選択
Excelが開きます。
[Invoices]シートの[F1]セルを選択し、[Confirm]をクリック
フィールドには、[[Rec]Invoices!F1]と表示
- [=SUM(Summary!D:D)]という式をファイル[Rec]のシート[Invoices]の[F1]に貼り付け
シート[Invoices]の[F1]セルにシート[Summary]のD列に差の合計を入力
Step 5: 上一致の詳細(差額の合計)を、メール送信
- 最後の[セルに書き込み]アクティビティ下の
をクリックし、
画面上部の検索ボックスで[条件分岐]アクティビティをダブルクリック
- [条件分岐]アクティビティが、[デザイナーパネル]に追加
[条件分岐]アクティビティで[Condition]フィールド右側の
ボタンをクリックし、[条件ビルダー]を選択
- [条件ビルダ]で、[[Rex] Invoice!F1 より大きい 0]と入力
- 左側のフィールド右側の
ボタンをクリックし、[Rec] > [Excel内で示す]
Excelが開きます。
[Invoices]シートの[F1]セルを選択し、[Confirm]をクリック
フィールドには、[[Rec]Invoices!F1]と表示
- 中央の[ドロップダウンメニュー]から、[より大きい]を選択
- 右側のフィールド右側の
ボタンをクリックし、[0]を入力し、2回[保存]ボタンをクリック
追加したアクティビティは、この条件が満たされた場合に、[Then]分岐を実行
- [アクティビティ]パネルで、[CSV]タブを選択し 、[CSVに書き込み]アクティビティを[Then]分岐にドラッグ&ドロップ
[CSVに書き込み]アクティビティが[デザイナーパネル]に追加
- [CSVに書き込み]アクティビティで
- [書き込み先ファイル]フィールド右側の
ボタンをクリックし、[テキスト]を選択
[テキストビルダー]で、[reconcile]と入力し、[テキストビルダー]右側の
ボタンから、
[ワークスペース:Excel] > [Data[シート]] > [YYYYMMDD[セル]]を選択
[テキストビルダー]には、[reconcile [Excel]Date!YYYYMMDD]と表示
最後に[.csv]と入力し、[保存]をクリック
([reconcile Excel Date!YYYYMMDD.csv]と表示)

- [書き込み元]フィールド右側の
をクリックし、[Rec] > [Summary[シート]]を選択
フィールドは、[[Rec]Summary]と表示

(ファイル[Rec]のシート[Summary]のデータをファイル[reconcile (+) 今日の日付 (+) .csv ]に出力)
- [アクティビティ]パネルで、[Outlook]タブを選択し、[Outlookメールを送信]アクティビティを
[CSVに書き込み]アクティビティの下の[Then]分岐内にドラッグ&ドロップ

- [Outlookメールを送信]アクティビティで
- [送信元アカウント]フィールド右側の
ボタンをクリックし、[Outlook]を選択
- [宛先]フィールド右側の
をクリックし、[テキスト]を選択
[テキストビルダー]ウィンドウで、送信先のメールアドレスを入力
(例:自分のメールを送信先として入力します。)
- [件吊]フィールド右側の
をクリックし、[テキスト]を選択
[テキストビルダー]で、[Reconciliation errors for]と入力し、右側の
ボタンから、
[ワークスペース:Exel] > [Date[シート]] > [Today[セル]]を選択
[テキストビルダー]には、[Reconciliation errors for [Excel] Date!Today]と表示

- [本文]フィールド右側の
ボタンをクリックし、[テキスト]を選択
[テキストビルダー]ウィンドウでメールの本文を入力
(例:[One or more suppliers have reconciliation errors.See attached CSV file for details.]と入力)
- [添付ファイル]で[ファイル]を選択し、フィールド横の
ボタンをクリック
- [リボンメニュー]の[保存]をクリックしてオートメーションを保存し、[実行]をクリックして、オートメーションを実行
- [Invoices]の合計金額が[supplier]の[summary]と一致しない場合、[Invoices]と[Summary]のデータが[reconcile.xlsx]にコピーされ、
今日の日付の吊前のCSVファイルにコピーされ、特定のアドレスに添付ファイルを送信
そのファイルで、「D3《セルの値が0より大きい「supplier《を確認可
計算が実行
