見出し画像

RPAデベロッパー基礎㊼ Excel モダン デザインを使用する

今日もUiPath Academyの「RPAデベロッパー基礎」で学習していきます


Excel モダン デザインを使用する

[Excel ファイルを使用] アクティビティ

Studio の Excel 操作を自動化するために、新たに追加された機能を使用する方法を学習

重要: 複数の異なる Excel ファイルの情報を同じワークフローで処理する場合は、各ファイルに対して [Excel ファイルを使用] アクティビティを使用する必要がある

アクティビティのプロパティ

【共通】
[表示名] - デザイナー パネルで表示される名前

【ファイル】

  • [パスワード] - ファイルがパスワードで保護されている場合に、Excel ブックを開くのに必要なパスワ

  • [ブック パス] - Excel ファイルへのパスです。
    ファイルが存在せず、[新しいファイルを作成] オプションを選択する場合は、Studio によってファイルが作成

  • [編集用パスワード] - ファイルがパスワードで保護されている場合に、Excel ブックの編集に必要なパスワード

【その他】
[プライベート] - 選択すると、アクティビティで使用したデータが Studio のログに記録されなくなる

【オプション】

  • [変更を保存] - ファイルの内容を変更する Excel アクティビティが実行されるたびにファイルを保存する場合は、このオプションを選択します。
    このオプションが無効化されている場合は、[Excel ファイルを保存] アクティビティを使用してください。
    既定では、このオプションは選択されています。
    変更を保存するオプションが無効な場合は、[データ マネージャー] パネルの Excel リソースの横に「自動保存: オフ」というメッセージが表示されます。

  • [存在しない場合ファイルを作成] - このオプションを選択すると、指定したパスにブックが見つからない場合に Excel ブックが新規作成されます。
    選択しない場合は、指定したパスにブックが見つからなければエラーが発生します。
    既定では、このオプションは選択されています。

  • [読み取り専用] - 選択すると、指定したブックが読み取り専用モードで開きます。
    このチェック ボックスを選択すると、編集のためにロックされていたり、編集用パスワードが設定されていたりする Excel ファイルでも、データ抽出操作を実行できます。
    このオプションは既定では選択されていません。

  • [読み込む値の書式]- Excel から読み取る値に適用する書式設定を選択します。

    • [(null)] - [プロジェクト設定] から設定値を継承します。

    • [Default] - Excel によって返される既定の書式設定を適用します。

    • [RowValue] - Excel から未処理の値を取得し、すべての書式設定を無視します。

    • [DisplayValue] - Excel に表示されているとおりに値を取得します。

  • [Excel ファイルを開いたままにする] - プロジェクトを実行する際にファイルが開かれていない場合に、プロジェクトの実行が終了した後もブックを閉じずに開いたままにします。
    このオプションは、後でファイルを確認する場合に使用できます。



モダン デザイン エクスペリエンスを使用した Excel 操作の自動化 ❶

異なるデータ セットが含まれる、異なるソースからの 2 つの入力用 Excel ファイルを使用するケースを取り上げ、これらの機能を使用する方法、これら 2 つのファイルを、1 つのマスター Excel ファイルに統合

「Acquisitions(買掛)」という名前の最初のファイルには、[Doc. Number(取引番号)]、[Emission Date(発行日)]、[Acquisition Total(取引合計)]、および [Supplier(仕入れ先)] という列があり、
「Sales(取引一覧)」という名前の 2 つ目の Excel ファイルには、[Doc. Number]、[Client Name(クライアント名)]、および [Agent Name(仲介業者)] という列がある

(月次レポートー取得データ貼付け)
"Doc. Number"で紐づけ Month Reportを作成
[VLOOKUP] アクティビティを使用 
[Acquisition Total](仕入合計) の値を計算
→[保存先] は変数「VLOOKUP_Value」
[Total Sales](売上合計)
→「VLOOKUP_Value + VLOOKUP_Value *0.2」
[Profit Per Sales](販売利益) 20%の利益率
→「 VLOOKUP_Value *0.2」

❶「Excel Data Consolidation」という名前の新しいプロジェクトを作成

❷「Input」フォルダーをプロジェクト フォルダーに作成し、この 2 つのスプレッドシートを追加

❸[Excel プロセス スコープ] アクティビティを追加
[Excel ウィンドウを表示] のプロパティを [False] に更新して表示名を変更

❹[Excel ファイルを使用] アクティビティを追加し、表示名を変更して、「Acquisitions」という 1 つ目の Excel ファイルを選択し、「Acquisitions」として参照

自動化したいファイルがまだ存在しない場合は、このオプションのチェック ボックスをオンにして、[Excel ファイルを使用] アクティビティ内のテンプレートと同じ構造でファイルを定義する(今回は操作するファイルが存在しているため、ここは空白のまま)

ファイルから重複する行を削除するには、[重複を削除] アクティビティを追加し、シートを選択(シート名は「Acquisitions」)

[比較対象の列] フィールドに、「"Doc. Number"」を追加


❺2 つ目の [Excel ファイルを使用] アクティビティを追加
「Month Report - Paste Acquisitions Sheet」という表示名に変更 (月次レポートー取得データ貼付け)

[Excel ファイル] に「"Output\MonthReport.xlsx"」というファイル パスを入力し、「MonthReport」として参照

❻[範囲をコピー/貼り付け] アクティビティを追加
[ソース] として「Acquisitions.Sheet("Acquisitions")」シートを選択し、[ターゲット] として「MonthReport.Sheet("Acquisitions")」を入力

フィールドのプラス記号をクリックしてシートを選択することも、参照したいシートの名前を直接入力することもできる

これらのプロジェクトには、類似したアクティビティが多数含まれているため、各アクティビティにそれぞれの具体的な役割を表す名前を付けることをベスト プラクティスとしています。
たとえば、今回は [Excel ファイルを使用] アクティビティを「Use Excel File - Acquisitions」というわかりやすい表示名に変更しています。
次にもう 1 つの [Excel ファイルを使用] アクティビティを追加するので、この 2 つを容易に見分けられるようになります。

❼もう 1 つの [Excel ファイルを使用] アクティビティを追加して表示名を変更し、
[ブック パス] から選択した「Sales.xlsx」ファイルを使用し、これを「"Input\Sales.xlsx"」として設定し、「Sales」として参照

❽実行内に [Excel ファイルを使用] アクティビティを追加
[Excel ファイル] に「"Output\MonthReport.xlsx"」を追加し、「MonthReport」として参照(同じアクティビティをコピペして修正)

[範囲をコピー/貼り付け] アクティビティを追加し、[ソース] として「Sales.Sheet("Sales")」を選択し、[ターゲット] として「MonthReport.Sheet("Sales")」を追加

[Excel ファイルを使用] アクティビティを最小化して、引き続き新しい [Excel ファイルを使用] アクティビティを追加し、ここで「MonthReport」ファイルのパスを追加し、「MonthReport」として参照

❾[Excel ファイルを使用] アクティビティを追加
[Excel ファイル] に「"Output\MonthReport.xlsx"」を追加し、「MonthReport」として参照(同じアクティビティをコピペして修正)
実行内に2 つの [列を挿入] アクティビティを追加
出力される Excel ファイルに新たに追加するデータ用に 2 つの列を挿入

❿最初のアクティビティに「Total Sales」という表示名を付け、[範囲] フィールドに「MonthReport.Sheet("Sales")」という値を追加
「"Agent Name"」の [後] に追加
列のヘッダーは「"Total Sales"」

⓫2 つ目の [列を挿入] アクティビティに対しても同じ操作を行い、「Profit Per Sales」という表示名に変更して、
[範囲]→「MonthReport.Sheet("Sales")」
「"Total Sales"」の [後] を選択
(ヘッダーは「"Profit Per Sales"」)

⓬[繰り返し (Excel の各行)] アクティビティを追加して、表示名を変更
[対象範囲] に「MonthReport.Sheet("Sales")」を追加
[先頭行をヘッダーとする] チェックボックスをオン

⓭このアクティビティ内で、[VLOOKUP] アクティビティを使用 [Acquisition Total] の値を計算できる
必要な結果を得るため、
[検索する値] →「CurrentRow.ByField("Doc. Number")」
[対象範囲] →「MonthReport.Sheet("Acquisitions")」を追加[列インデックス] は「3」、
[保存先] は変数「VLOOKUP_Value」とする(変数作成)

結果を書き込むには、
2 つの [セルに書き込み] アクティビティが必要
最初のアクティビティを使用して、
「VLOOKUP_Value + VLOOKUP_Value *0.2」と書き込む

※変数の型が正しくないことを示すエラーが表示これを修正するために、
型を [Double] に更新

[書き込む場所] フィールドに、
「CurrentRow.ByField("Total Sales")」を追加

2 つ目の [セルに書き込み] アクティビティを追加する前に、最初のアクティビティの表示名を「Write Cell Total Sales」に変更

⓮このアクティビティをコピーして貼り付け、表示名を「Profit Per Sale」(利益)に更新し、
値→VLOOKUP_Value *0.2
データを書き込む場所→
「CurrentRow.ByField("Profit Per Sales")」に更新
どちらにも [行を自動インクリメント] を使用

[書き込む場所] のセクションでは、これまで行ってきたように値を手動で追加することも、使用したい値を直接選択することもできる

警告: [Excel ファイルを使用] アクティビティは
[Excel プロセス スコープ] 内で使用することをお勧めします。

※[Output] フォルダーが既に作成されていることを確認する必要がある

デバック→実行

検証:総仕入れ額+利益総額=売上総計 OK

【まとめ】
- Excel ファイルを処理するには、[Excel ファイルを使用] アクティビティを使用する必要があります。

- Excel ファイルから重複する行を削除するには、[重複を削除] アクティビティを使用できます。

- 範囲をコピーして貼り付けるには、[範囲をコピー/貼り付け] アクティビティを使用できます。

- 新しい列を追加または挿入するには、[列を挿入] アクティビティを使用できます。

- Excel ファイルの各行を反復処理するには、[繰り返し (Excel の各行)] アクティビティを使用する必要があります。

- Excel で VLookUp を実行するには、[VLOOKUP] アクティビティを使用できます。

- セルに特定の値を書き込むには、[セルに書き込み] アクティビティを使用できます。



この記事が気に入ったらサポートをしてみませんか?