通知を受け取る

UiPath StudioX

UiPath StudioX ガイド

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

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

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

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

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

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

ステップ 2: 請求書を収めた Excel ファイルと Outlook のアカウントをプロジェクトに追加します。

  1. デザイナー パネルの plus_icon をクリックします。つづいて、画面上部にある検索ボックスの [共通シナリオ] セクションで [Outlook アカウントを使用] をクリックします。[Outlook アカウント カード] アクティビティがデザイナー パネルに追加されます。
  2. アクティビティの [メール アカウントを選択] フィールドでは、既定のメール アカウントが既に選択されています。別のアカウントを使用する場合は、ドロップダウン メニューから選択します。
    [後で参照する名前] フィールドに、オートメーションでアカウントを参照するときに使用する名前として「Outlook」と入力します。
  3. デザイナー パネルで [Outlook アカウント カード] の下の plus_icon をクリックします。つづいて、画面上部にある検索ボックスの [共通シナリオ] セクションで、[Excel ファイルを使用] を選択し、data フォルダーに移動してファイル invoices.xlsx を選択します。[Excel ファイル カード] アクティビティがデザイナー パネルに追加されます。
  4. [後で参照する名前] フィールドに「Invoices」と入力します。
    これで、このオートメーションでは名前を Invoices としたファイル invoices.xlsx を操作対象として指定したことになります。
546

ステップ 3: 照合を実行してデータのコピー先とする Excel ファイルを追加します。

  1. デザイナー パネルで [Excel ファイル カード] の下の plus_icon をクリックします。つづいて、画面上部にある検索ボックスの [共通シナリオ] セクションで、[Excel ファイルを使用] を選択し、data フォルダーに移動してファイル reconcile.xlsx を選択します。[Excel ファイル カード] アクティビティがデザイナー パネルに追加されます。
  2. [後で参照する名前] フィールドに「Rec」と入力します。
    これで、このオートメーションでは名前を Rec としたファイル reconcile.xlsx をオートメーション プロジェクトに追加するように指定したことになります。
  3. 2 番目の [Excel ファイル カード] で plus_icon をクリックします。つづいて、画面上部にある検索ボックスで [CSV を読み込み] アクティビティを探して選択します。Excel ファイル カードに、そのアクティビティが追加されます。
  4. [CSV を読み込み] アクティビティで、以下の手順を実行します。
    • [読み込み元ファイル] フィールドの横にある browse files をクリックし、ファイル summary.csv を参照して選択します。
    • [出力先] フィールドの右側にある plus button をクリックし、[Rec] > [Summary [シート]] を選択します。フィールドの内容が、選択した [Rec] Summary で更新されます。
      これで、CSV ファイル summary.csv のデータを、Rec ファイルの Summary シートにコピーするように指定したことになります。
  5. [CSV を読み込み] アクティビティの下で、2 番目の Excel ファイル カードの plus_icon をクリックします。つづいて、画面上部にある検索ボックスで [範囲をコピー/貼り付け] アクティビティを探して選択します。Excel ファイル カードに [範囲をコピー/貼り付け] アクティビティが追加されます。
  6. [範囲をコピー/貼り付け] アクティビティで、以下の手順を実行します。
    • [元の範囲] フィールドの右側にある plus button をクリックし、[Invoices] > [Invoices [シート]] を選択します。フィールドに、選択した範囲 [Invoices] Invoices が表示されます。
      これで、Invoices ファイルから Invoices シートをコピーするように指定したことになります。
      [対象範囲] フィールドの右側にある plus button をクリックし、[Rec] > [Invoices [シート]] を選択します。フィールドに、選択した範囲 [Rec] Invoices が表示されます。
      これで、コピーした範囲を Rec ファイルの Invoices シートに貼り付けるように指定したことになります。
597

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

  1. [アクティビティ] パネルで [Excel] タブを選択し、[セルに書き込み] アクティビティを 2 番目の Excel ファイル カードの下にドラッグ アンド ドロップします。[セルに書き込み] アクティビティがデザイナー パネルに追加されます。
  2. [セルに書き込み] アクティビティで、以下の手順を実行します。
    • [書き込む内容] フィールドの右側にある plus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「Calculated Amount」と入力します。
    • [書き込む場所] フィールドの右側にある plus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。セル C1 を選択して [確定] をクリックします。フィールドの内容が選択した [Rec] Summary!C1 に更新されます。
      これで、Rec ファイルにある Summary シートの C 列の一番上のセルに、テキスト「Calculated Amount」を書き込むように指定したことになります。
  3. 前の [セルに書き込み] アクティビティの下に、もう 1 つ同じアクティビティを追加します。
    • [書き込む内容] フィールドの右側にある plus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「=IF(A2 <> "", SUMIF(Invoices!B:B, A2, Invoices!C:C), "")」と入力します。
    • [書き込む場所] フィールドの右側にある plus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。セル C2 を選択して [確定] をクリックします。フィールドの内容が選択した [Rec] Summary!C2 に更新されます。
      これで、Rec ファイルにある Summary シートの C2 セルに、数式「=IF(A2 <> "", SUMIF(Invoices!B:B, A2, Invoices!C:C), "")」を書き込むように指定したことになります。この数式は、サプライヤーのセル (A2) が空でないことを確認し、Summary シートの A2 セルに記述されたサプライヤーについて、Invoices シートの C 列の値を合計します。
  4. 前の [セルに書き込み] アクティビティの下に、3 番目の同じアクティビティを追加して、そこで以下の手順を実行します。
    • [書き込む内容] フィールドの右側にある plus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「Difference」と入力します。
    • [書き込む場所] フィールドの右側にある plus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。セル D1 を選択して [確定] をクリックします。フィールドの内容が選択した [Rec] Summary!D1 に更新されます。
      これで、Rec ファイルにある Summary シートの D 列の一番上のセルに、テキスト「Difference」を書き込むように指定したことになります。
  5. 前の [セルに書き込み] アクティビティの下に、4 番目の同じアクティビティを追加して、そこで以下の手順を実行します。
    • [書き込む内容] フィールドの右側にある plus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「=IF(A2 <> "", C2-B2, "")」と入力します。
    • [書き込む場所] フィールドの右側にある plus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。セル D2 を選択して [確定] をクリックします。フィールドの内容が選択した [Rec] Summary!D2 に更新されます。
      これで、Rec ファイルにある Summary シートの D2 セルに、数式「=IF(A2 <> "", C2-B2, "")」を書き込むように指定したことになります。この数式は、サプライヤーのセル (A2) が空でないことを確認し、Summary シートのセル C2 と B2 の値の差を計算します。
  6. 最後の [セルに書き込み] アクティビティの下の plus_icon をクリックし、画面上部にある検索ボックスで [範囲をコピー/貼り付け] アクティビティを探して選択します。[範囲をコピー/貼り付け] アクティビティがデザイナー パネルに追加されます。
  7. [範囲をコピー/貼り付け] アクティビティで、以下の手順を実行します。
    • [元の範囲] フィールドの右側にある plus button をクリックし、[Invoices] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。範囲 C2:D2 を選択して [Confirm (確定)] をクリックします。フィールドの内容が、選択した [Rec] Summary!C2:D2 で更新されます。
    • [対象範囲] フィールドの右側にある plus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。範囲 C3-D20 を選択して [確定] をクリックします。フィールドの内容が、選択した [Rec] Summary!C3-D20 で更新されます。
    • [コピーする内容] ドロップダウン メニューの [数式] を選択します。
      これにより、コピーしたセル範囲 C2:D2 の数式を、シートにある同じ列の下の行にコピーするように指定したことになります。
  8. [アクティビティ] パネルの [Excel] タブを選択し、[セルに書き込み] アクティビティを [範囲をコピー/貼り付け] アクティビティの下にドラッグ アンド ドロップします。[セルに書き込み] アクティビティがデザイナー パネルに追加されます。
  9. [セルに書き込み] アクティビティで、以下の手順を実行します。
    • [書き込む内容] フィールドの右側にある plus button をクリックし、[テキスト] を選択します。テキスト ビルダーに数式「=SUM(Summary!D:D)」を入力します。
    • Click plus button on the right side of the Where to write field, and then select Rec > Indicate in Excel. The spreadsheet is opened in Excel. Select the sheet Invoices, then the cell F1, and then click Confirm. The field is updated with your selection [Rec] Invoices!F1.
      これで、Rec ファイルにある Invoices シートの F 列の一番上のセルに、数式「=SUM(Summary!D:D)」を書き込むように指定したことになります。この数式は、Summary シートの D 列に表示された差の合計であり、Invoices シートの F1 セルに追加されます。
445

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

  1. 最後の [セルに書き込み] アクティビティの下の plus_icon をクリックし、画面上部にある検索ボックスで [条件分岐 (if)] を探して選択します。[条件分岐 (if)] アクティビティがデザイナー パネルに追加されます。
  2. [条件分岐 (if)] アクティビティで、[条件] フィールドの右側の plus button をクリックし、[条件ビルダー] を選択します。
  3. 次の手順に従い、[条件ビルダー] で「差額の合計が 0 より大きい場合」という条件を追加します。
    • 左側のフィールドの右側にある plus button をクリックし、[Rec] > [Excel 内で示す] を選択します。スプレッドシートが Excel で開きます。Invoices シートを選択してから、セル F1 を選択して [Confirm (確定)] をクリックします。フィールドの内容が、選択した [Rec] Invoices!F1 で更新されます。
    • 中央のドロップダウン メニューから [次の値より大きい] を選択します。
    • 右側のフィールドの右側にある plus button をクリックし、[数値] を選択します。0 を入力して [保存] を 2 回クリックします。
      この条件が満たされた場合、[条件分岐 (if)] アクティビティの [Then] 分岐に追加したアクティビティが実行されます。
  4. [アクティビティ] パネルの [CSV] タブを選択し、[CSV に書き込み] アクティビティを [条件分岐 (if)] アクティビティの [Then] 分岐にドラッグ アンド ドロップします。[CSV に書き込み] アクティビティがデザイナー パネルに追加されます。
  5. [CSV に書き込み] アクティビティで、以下の手順を実行します。
    • [書き込み先ファイル] フィールドの右側にある plus button をクリックし、[テキスト] を選択します。テキスト ビルダーに「reconcile 」と入力し、テキスト ビルダーの右側にある plus button メニューから、[ワークスペース: Excel] > [Date [シート]] > [YYYYMMDD [セル]] を選択します。テキスト ビルダーのテキストが「reconcile Excel Date!YYYYMMDD」に更新されます。テキスト「.csv」を末尾に入力し、[保存] をクリックします。最終的なテキストは「reconcile Excel Date!YYYYMMDD.csv」になるはずです。
    • [書き込み元] フィールドの右側にある plus button をクリックし、[Rec] > [Summary [シート]] を選択します。フィールドの内容が選択した [Rec] Summary に更新されます。
      これで、reconcile という語と今日の日付を名前に持つ CSV ファイルをプロジェクト フォルダーに作成し、そのファイルにRec ファイルの Summary シートをコピーするように指定したことになります。
  6. [アクティビティ] パネルで [Outlook] タブを選択し、[Outlook メールを送信] アクティビティを、[CSV に書き込み] アクティビティの下の [条件分岐 (if)] アクティビティにある [Then] 分岐にドラッグ アンド ドロップします。
  7. [Outlook メールを送信] アクティビティで、以下の手順を実行します。
    • [送信元アカウント] フィールドの右側にある plus button をクリックし、[Outlook] を選択します。
    • [宛先] フィールドの右側にある plus button をクリックし、[テキスト] を選択します。[テキスト ビルダー] ウィンドウに、メールの宛先とするメール アドレスを入力します。たとえば、自分宛てにメールが送信されるように、自分のアドレスを入力することもできます。
    • [件名] フィールドの右側にある plus button をクリックし、[テキスト] を選択します。[テキスト ビルダー] ウィンドウに「Reconciliation errors for」と入力し、テキスト ビルダーの右側にある plus button メニューから [ワークスペース: Excel] > [Date [シート]] > [Today [セル]] を選択します。テキスト ビルダーのテキストが「Reconciliation errors for Date!Today」に更新されます。
    • [本文] フィールドの右側にある plus button をクリックし、[テキスト] を選択します。[テキスト ビルダー] ウィンドウに、メールの本文となるテキストを入力します。たとえば、「 One or more suppliers have reconciliation errors. See attached CSV file for details.」と入力します。
    • [添付ファイル] を指定するには、[ファイル] を選択して、フィールドの横の browse files をクリックします。つづいて、ファイル reconcile Excel Date!YYYYMMDD.csv の保存場所に移動し、そのファイルを選択します。
670
  1. リボン メニューで [保存] をクリックしてオートメーションを保存し、[実行] をクリックしてそのオートメーションを実行します。

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

サンプルをダウンロード

2 年前に更新


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


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

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