通知を受け取る

UiPath StudioX

UiPath StudioX ガイド

チュートリアル: Excel ファイルの比較と、照合エラーのメール送信

このチュートリアルでは、請求書が保存されたスプレッドシートにある金額と、サプライヤーごとのサマリーが保存された CSV ファイルにある金額を比較するうかプロジェクトを作成します。これらのファイル間に何らかの照合エラーが発生した場合、その詳細情報を記述した CSV ファイルを作成して、メールで送信します。

以下のアクティビティから成るプロジェクトを作成します。

  1. 請求書を含む Excel ファイルを指定するための [Excel ファイルを使用] アクティビティ 2 つと、データを照合するためのファイルを指定します。
  2. 一連の [セルに書き込み] アクティビティで照合 Excel ファイルに 2 つの列見出しを追加し、1 つのサプライヤーの合計請求額、およびその額と初期サマリー額との差額を計算します。1 つのサプライヤーを対象に追加した数式を、シートにあるすべての行にコピーする [範囲をコピー] アクティビティを追加します。これにより、すべてのサプライヤーに対して同じ計算が実行されるようにします。つづいて、[セルに書き込み] アクティビティをもう 1 つ追加し、セルに差額の合計を書き込みます。
  3. [条件分岐 (if)] アクティビティ: このアクティビティには、照合エラーが発生した場合 (差額の合計が 0 より大きい場合) に、その詳細を記述した CSV ファイルを作成し、指定したアドレスにメールで送信するという条件を追加します。メール タスクのため、[条件分岐 (if)] アクティビティ内に [デスクトップ版 Outlook アプリを使用] アクティビティを追加してメールを送信する Outlook アカウントを指定します。さらに、[デスクトップ版 Outlook アプリを使用] 内に [メールを送信] アクティビティを追加します。

ステップ 1: プロジェクトを設定し、必要なファイルを取得します。

  1. 既定の設定を使用して新しい空のプロジェクトを作成します
  2. このチュートリアルでは、このページ下部にあるボタンを使用して、オートメーション プロジェクトを収めたアーカイブをダウンロードして展開します。プロジェクト フォルダーに data フォルダーをコピーします。

ステップ 2: Excel ファイルをプロジェクトに追加します。

  1. デザイナー パネルで [アクティビティを追加] plus_iconplus_icon アイコンをクリックし、画面上部の検索ボックスで [Excel ファイルを使用] アクティビティを検索して、それを選択します。[Excel ファイルを使用] アクティビティがデザイナー パネルに追加されます。
  2. アクティビティで次の操作を行います。
    • Click Browse browse filesbrowse files next to the Excel file field, and then browse to and select the file invoices.xlsx
    • In the field Reference as, enter Invoices です。
      これで、このオートメーションでは名前を Invoices としたファイル invoices.xlsx を操作対象として指定したことになります。
  3. [Excel ファイルを使用] アクティビティ内の [アクティビティを追加] plus_iconplus_icon アイコンをクリックし、もう 1 つ [Excel ファイルを使用] アクティビティを追加します。
  4. 2 番目のアクティビティで、次の操作を行います。
    • Click Browse browse filesbrowse files next to the Excel file field, and then browse to and select the file reconcile.xlsx
    • In the field Reference as, enter Rec です。
      これで、このオートメーションでは名前を Rec としたファイル reconcile.xlsx を操作対象として指定したことになります。
585585

ステップ 3: データを照合ファイルにコピーします。

  1. 2 番目の [Excel ファイルを使用] 内の [アクティビティを追加] plus_iconplus_icon アイコンをクリックし、画面上部の検索ボックスで [CSV を読み込み] アクティビティを検索して、それを選択します。このアクティビティが [Excel ファイルを使用] アクティビティに追加されます。
  2. [CSV を読み込み] アクティビティで、以下の手順を実行します。
    • [読み込み元ファイル] フィールドの横の [参照] browse filesbrowse files アイコンをクリックし、ファイル summary.csv を参照して選択します。
    • [出力先] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Rec] > [Summary [シート]] を選択します。フィールドの内容が、選択した [Rec] Summary で更新されます。
      これで、CSV ファイル summary.csv のデータを、Rec ファイルの Summary シートにコピーするように指定したことになります。
  3. 2 番目の [Excel ファイルを使用] 内の [CSV を読み込み] アクティビティの下の [アクティビティを追加] plus_iconplus_icon アイコンをクリックします。つづいて、画面上部にある検索ボックスで [範囲をコピー] アクティビティを探して選択します。[Excel ファイルを使用] アクティビティに [範囲をコピー] アクティビティが追加されます。
  4. [範囲をコピー] アクティビティで、次の操作を行います。
    • [元の範囲] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Invoices] > [Invoices [シート]] を選択します。フィールドに、選択した範囲 [Invoices] Invoices が表示されます。
      これで、Invoices ファイルから Invoices シートをコピーするように指定したことになります。
    • [対象範囲] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Rec] > [Invoices [シート]] を選択します。フィールドに、選択した範囲 [Rec] Invoices が表示されます。
      これで、コピーした範囲を Rec ファイルの Invoices シートに貼り付けるように指定したことになります。
588588

ステップ 4: データ比較に必要な計算を実行します。

  1. [アクティビティ] パネルで [Excel] タブを選択し、[セルに書き込み] アクティビティを 2 番目の [Excel ファイルを使用] 内の [範囲をコピー] の下にドラッグ アンド ドロップします。[セルに書き込み] アクティビティがデザイナー パネルに追加されます。
  2. [セルに書き込み] アクティビティで、以下の手順を実行します。
    • Click Plus plus buttonplus button on the right side of the What to write field, and then select Text. In the Text Builder, enter the text Calculated Amount です。
    • [書き込む場所] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。セル C1 を選択して [確定] をクリックします。フィールドの内容が選択した [Rec] Summary!C1 に更新されます。
      You have indicated that you want the first cell in column C from the Summary sheet of the Rec file to contain the text Calculated Amount です。
  3. 前の [セルに書き込み] アクティビティの下に、もう 1 つ同じアクティビティを追加します。
    • Click Plus plus buttonplus button on the right side of the What to write field, and then select Text. In the Text Builder, enter the text =IF(A2 <> "", SUMIF(Invoices!B:B, A2, Invoices!C:C), "") です。
    • [書き込む場所] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。セル C2 を選択して [確定] をクリックします。フィールドの内容が選択した [Rec] Summary!C2 に更新されます。
      You have indicated that you want C2 from the Summary sheet of the Rec file to contain the formula =IF(A2 <> "", SUMIF(Invoices!B:B, A2, Invoices!C:C), ""). This formula checks if the supplier cell (A2) is not empty and sums the values in the C column of the Invoices sheet for the supplier in the cell A2 of the Summary sheet.
  4. 前の [セルに書き込み] アクティビティの下に、3 番目の同じアクティビティを追加して、そこで以下の手順を実行します。
    • Click Plus plus buttonplus button on the right side of the What to write field, and then select Text. In the Text Builder, enter the text Difference です。
    • [書き込む場所] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。セル D1 を選択して [確定] をクリックします。フィールドの内容が選択した [Rec] Summary!D1 に更新されます。
      You have indicated that you want the first cell in column D from the Summary sheet of the Rec file to contain the text Difference です。
  5. 前の [セルに書き込み] アクティビティの下に、4 番目の同じアクティビティを追加して、そこで以下の手順を実行します。
    • Click Plus plus buttonplus button on the right side of the What to write field, and then select Text. In the Text Builder, enter the text =IF(A2 <> "", C2-B2, "") です。
    • [書き込む場所] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。セル D2 を選択して [確定] をクリックします。フィールドの内容が選択した [Rec] Summary!D2 に更新されます。
      You have indicated that you want D2 from the Summary sheet of the Rec file to contain the formula =IF(A2 <> "", C2-B2, ""). This formula checks if the supplier cell (A2) is not empty and calculates the difference between the values in cells C2 and B2 of the Summary sheet.
  6. 最後の [セルに書き込み] アクティビティの下の [アクティビティを追加] plus_iconplus_icon アイコンをクリックし、画面上部にある検索ボックスで [範囲をコピー] アクティビティを探して選択します。[範囲をコピー] アクティビティがデザイナー パネルに追加されます。
  7. [範囲をコピー] アクティビティで、次の操作を行います。
    • [元の範囲] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。範囲 C2:D2 を選択して [Confirm (確定)] をクリックします。フィールドの内容が、選択した [Rec] Summary!C2:D2 で更新されます。
    • [対象範囲] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。範囲 C3-D20 を選択して [確定] をクリックします。フィールドの内容が、選択した [Rec] Summary!C3-D20 で更新されます。
    • [コピーする内容] ドロップダウン メニューの [数式] を選択します。
      これにより、コピーしたセル範囲 C2:D2 の数式を、シートにある同じ列の下の行にコピーするように指定したことになります。
  8. [アクティビティ] パネルの [Excel] タブを選択し、[セルに書き込み] アクティビティを最後の [範囲をコピー] アクティビティの下にドラッグ アンド ドロップします。[セルに書き込み] アクティビティがデザイナー パネルに追加されます。
  9. [セルに書き込み] アクティビティで、以下の手順を実行します。
    • Click Plus plus buttonplus button on the right side of the What to write field, and then select Text. In the Text Builder, enter the formula =SUM(Summary!D:D) です。
    • [書き込む場所] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。Invoices シートを選択してから、セル F1 を選択して [確定] をクリックします。フィールドの内容が、選択した [Rec] Invoices!F1 に更新されます。
      You have indicated that you want the first cell in column F from the Invoices sheet of the Rec file to contain the formula =SUM(Summary!D:D). The formula adds the sum of the differences in the D column of the Summary sheet to the F1 cell in the Invoices sheet.
302302

ステップ 5: 差額の合計が 0 より大きい場合に、照合に関する詳細をメールで送信します。

  1. 最後の [セルに書き込み] アクティビティの下の [アクティビティを追加] plus_iconplus_icon アイコンをクリックし、画面上部にある検索ボックスで [条件分岐 (if)] アクティビティを探して選択します。[条件分岐 (if)] アクティビティがデザイナー パネルに追加されます。
  2. [条件分岐 (if)] アクティビティで、[条件] フィールドの右側のプラス記号 plus buttonplus button をクリックし、[条件ビルダー] を選択します。
  3. 次の手順に従い、[条件ビルダー] で「差額の合計が 0 より大きい場合」という条件を追加します。
    • 左側のフィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。Invoices シートを選択してから、セル F1 を選択して [Confirm (確定)] をクリックします。フィールドの内容が、選択した [Rec] Invoices!F1 で更新されます。
    • 中央のドロップダウン メニューから [次の値より大きい] を選択します。
    • 右側のフィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[数値] を選択します。0 を入力して [保存] を 2 回クリックします。
      この条件が満たされた場合、[条件分岐 (if)] アクティビティの [Then] 分岐に追加したアクティビティが実行されます。
  4. [アクティビティ] パネルの [CSV] タブを選択し、[CSV に書き込み] アクティビティを [条件分岐 (if)] アクティビティの [Then] 分岐にドラッグ アンド ドロップします。[CSV に書き込み] アクティビティがデザイナー パネルに追加されます。
  5. [CSV に書き込み] アクティビティで、以下の手順を実行します。
    • Click Plus plus buttonplus button on the right side of the Write to what file field, and then select Text. In the Text Builder, enter reconcile , and then from the Plus plus buttonplus button menu on the right side of the Text Builder select Project Notebook (Notes) > Date [Sheet] > YYYYMMDD [Cell]. The text in the Text Builder is updated to reconcile Excel Date!YYYYMMDD. Enter the text .csv at the end and click Save. The final text should be reconcile Excel Date!YYYYMMDD.csv です。
    • [書き込み元] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Rec] > [Summary [Sheet]] を選択します。フィールドの内容が選択した [Rec] Summary に更新されます。
      これで、reconcile という語と今日の日付を名前に持つ CSV ファイルをプロジェクト フォルダーに作成し、そのファイルにRec ファイルの Summary シートをコピーするように指定したことになります。
  6. [アクティビティ] パネルで [メール] タブを選択し、[デスクトップ版 Outlook アプリを使用] アクティビティを、[条件分岐 (if)] アクティビティの [Then] 分岐内の [CSV に書き込み] アクティビティの下にドラッグ アンド ドロップします。
  7. このアクティビティの [アカウント] フィールドには、あらかじめ既定のメール アカウントが入力されています。別のアカウントを使用する場合は、ドロップダウン メニューから選択します。
    In the Reference as field, leave the default value Outlook as the name by which to refer to the account in the automation.
  8. [アクティビティ] パネルで [メールを送信] アクティビティをドラッグし、[デスクトップ版 Outlook アプリを使用] アクティビティ内にドロップします。
  9. [メールを送信] アクティビティで、以下の手順を実行します。
    • [送信元アカウント] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[Outlook] を選択します。
    • [コピー先] フィールドの右側にあるプラス記号 plus buttonplus button をクリックし、[テキスト] を選択します。[テキスト ビルダー] ウィンドウに、メールの宛先とするメール アドレスを入力します。たとえば、自分宛てにメールが送信されるように、自分のアドレスを入力することもできます。[下書き] オプションを選択したままにすると、メールは送信されず Outlook の [下書き] フォルダーに保存されます。
    • Click Plus plus buttonplus button on the right side of the Subject field, and then select Text. In the Text Builder window, enter Reconciliation errors for, and then from the Plus plus buttonplus button menu on the right side of the Text Builder select Project Notebook (Notes) > Date [Sheet] > Today [Cell]. The text in the Text Builder is updated to Reconciliation errors for Date!Today です。
    • Click Plus plus buttonplus button on the right side of the Body field, and then select Text. In the Text Builder window, enter text for the body of the email, for example One or more suppliers have reconciliation errors. See attached CSV file for details. です。
    • For Attachments, select Files, and then enter the same file name as the one used in the Write CSV activity in step 5, reconcile Excel Date!YYYYMMDD.csv. For example, you can open the Text Builder for the Write to what file field of the Write CSV activity, copy all the text, and then paste in the Text Builder for the file attachment field.
458458
  1. StudioX のリボンで [保存] をクリックしてオートメーションを保存し、[実行] をクリックしてオートメーションを実行します。

請求書 (invoices) とサマリー (summary) のデータがファイル reconcile.xlsx にコピーされ、計算が実行されます。サプライヤーの 1 社で、請求書の合計額がサマリーの額と一致しないため、ファイル reconcile.xlsx の Summary シートが、今日の日付を使用した名前の CSV ファイルにコピーされます。このファイルがメールに添付され、指定したアドレスに送信されます。添付ファイルのセル D3 の値が 0 より大きいことから、照合エラーのあるサプライヤーを特定できます。

サンプルをダウンロード

1 年前に更新



チュートリアル: Excel ファイルの比較と、照合エラーのメール送信


改善の提案は、API リファレンスのページでは制限されています

改善を提案できるのは Markdown の本文コンテンツのみであり、API 仕様に行うことはできません。