テンプレートは後日追加します。
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の内容は削除してテンプレートは閉じておきましょう。
(合計の列には計算式が入っているので、削除しないでください。)
後半に続く