UiPath Excel操作ハンズオン 前半


テンプレートは後日追加します。

0. 事前準備

今回のハンズオンで使用するテンプレートを事前に配置しておきます。
Cドライブ直下WORKという名前のフォルダを作成し、WORKフォルダ内に課題フォルダをコピーしてください。

フォルダ構成は以下。

C:\WORK\課題
    sample.csv
    テンプレート.xlsx
    成果物.xlsx

1. 今回作成するロボットの内容

CSVファイルのデータをエクセルに書き込み、エクセルファイルを整形するロボットを作成します。
これにより、以下操作をロボット化する方法が学べます。
 ①CSVデータ読み込み⇒エクセルへ書き込み
 ②エクセルデータ読み込み⇒エクセルへ書き込み
 ③エクセル画面の操作(フォント変更)
 ④ロボット作成の一連の流れ

2. ロボットの作成

2.1 プロジェクトの新規作成

UiPath Studioを開き、スタートタブの新規プロジェクトから「プロセス」を選択します。

任意の名前と説明を入力してください。

2.2 メインワークフローを作成

プロジェクトが作成されたら、Mainワークフローを開くを押します。

このメインとなるワークフロー内に処理を作成していきます。

ロボットに処理を追加するときは、左側のアクティビティタブ内から基本となる処理を選択し、動きを追加していく形になります。

初めに、処理の大枠となる、課題シーケンスを作成します。

左側のアクティビティからシーケンスをドラッグ&ドロップで追加します。

シーケンス等の名前は、名前部分をダブルクリックすることにより、自由に変更できます。
今回作成するシーケンスの名前は「課題」としておきましょう。

2.3 作業するパスの指定

2.3.1 変数の定義

画面下部にある変数をクリックして、変数タブを開きます。

以下変数を作成します。

名前 変数の型 スコープ
workpath String 課題
csvdata System.Data.DataTable 課題
exceldata System.Data.DataTable 課題

※変数のスコープとは・・・

 スコープとは、変数の有効範囲のことであり、今回はスコープを「課題」としているため、
 先ほど作成した、「課題シーケンス」内でのみ使用できる変数ということを表しています。

2.3.2 変数の代入

ワークフロー→制御→代入を課題に追加します。

workpath = "C:\WORK\課題\"
となるように入力します。

2.4 CSVを読み込む処理作成

アプリの連携→CSV→CSVを読み込みを先ほど作成した代入の下に追加します。

読み込み元ファイルと出力先を指定します

今回は、課題フォルダ内にあるsample.csvを読み込みたいので、読み込み元ファイルを
workpath + "sample.csv"とします。
(先ほど代入のところで、workpath = "C:\WORK\課題\"としているため、workpath + "sample.csv"とするとC:\WORK\課題\sample.csvが指定できます。)

今回、CSVの先頭行はヘッダーとして使用しないため、先頭行をヘッダーとするのチェックは外します。

ここまでで、csvからデータを読み取り、csvdataという変数に格納することができました。

2.5 テンプレート側処理作成

これから、テンプレートのエクセルファイル内にデータを書き出す処理を作成します。

2.5.1 エクセルファイルを開く

まずは、エクセルファイルを開く処理を追加します。

アプリの連携→Excel→処理→ExcelアプリケーションスコープCSV読み込みの下に追加します。

ブックのpathを指定します。
workpath + "テンプレート.xlsx"

また、右側のプロパティ欄にある新しいファイルの作成チェックボックスを外しておきます。

2.5.2 開いたエクセルファイルのアクティベート(選択している状態にする)

エクセルのブックを開いた後に、ウィンドウをクリックしてアクティベートする(EXCELを操作している状態にする)必要があるため、
UI Automation→要素→コントロール→アクティベート実行内に追加します。

ここで一度、課題フォルダ内にあるテンプレート.xlsxを開き、その後、先ほど追加したアクティベート内の「画面上で指定」をクリックします。
その後、先ほど開いたテンプレート.xlsxの画面上部(テンプレート - Excelと書いてある辺り)をクリックします。
このようにすることで、先ほど開いたエクセルを選択(アクティベート)してくれます。

2.5.3 エクセルファイルに書き込み

先ほどcsvから読み込んでcsvdataという名前の変数に保存してあるデータをエクセルに書き込む処理を追加します。
アプリの連携→Excel→範囲に書き込みを追加します。
書き込む先は"sheet1"の"A2"セルに貼り付けとし、先ほど保存してあるcsvdataから張り付けるようにします。

ここまでで一度実行してみましょう。

ファイルをデバックを押す。

うまく作成できていれば、CSVのデータがエクセルに貼り付けられて以下のようになるはずです!

実行が確認出来たら年月・金額1・金額2の内容は削除してテンプレートは閉じておきましょう。
(合計の列には計算式が入っているので、削除しないでください。)

後半に続く