RPA(BizRobo!mini)でエクセル形式のデータ出力を実践

どうも、こんにちは!

前回の記事で、「Webページ(食べログ)から抽出した情報をCSVに書き込みする」ってことをやりましたが、今回は出力の形式をエクセル形式に出力したいと思います。

 

なお、今回は学習にあたって、NO-WAYさんのブログを大変参考にしました。

本当にわかりやすかったです。

https://nowaydunno.home.blog/2019/03/27/09-excel%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%87%BA%E5%8A%9B/2/

 

 

CSVとエクセルの違いをざっくり説明すると、

CSVはシンプルな形式で、エクセルでも開くことができます。

エクセルはいろんなことが出来る分、複雑な形式となっている、つまり出力も少し面倒くさい点が違いです。

 

エクセル書き込みの大まかな手順

大きく、以下3つの手順で進んでいくイメージを持って下さい。

1.エクセル変数を作成、開く

2.エクセル変数に値を書き込む

3.エクセル変数をエクセルへ出力する

自分は最初このイメージがつかめずに混乱しました。

エクセル変数ってなに?!って。

とりあえず、「エクセル用の型」のようなイメージを持ってやってみるというのをおすすめします。

 

全体像

f:id:u_chii:20200505002211p:plain

全体像

今回の全体像はこのような感じです。

エクセル独特の操作をしたということに加えて、前回とファイル出力の位置を変えてます!後述しますが、ループがすべて終わった後にファイル出力すればええんやと気づいたのですよ…。

 

以下に詳細の手順を記載していきます。

ただし、エクセル出力で追加した部分だけにします。

 

手順1.変数を追加する

まず、エクセル独自の変数を作成してあげなければけません。

変数の「+」ボタンを押して、任意の名前(〇〇エクセルとかが分かりやすいと思います)を記載して、グローバルにチェックです。

タイプは「エクセル」です。

 

f:id:u_chii:20200504222315p:plain

エクセル変数の追加


手順2.エクセルをオープンする

先頭にアクションを挿入して「変数を開く」を選択します。

 

f:id:u_chii:20200504223130p:plain

「変数を開く」アクションステップを最初に挿入

変数は、先程作成したエクセル用の変数を指定します。

 

f:id:u_chii:20200504223222p:plain

「変数を開く」画面

 

 

手順3.エクセルのヘッダを記載する

 エクセルのヘッダを記載します。

A1セルで「修正」→「セット」→「テキスト」をクリックして下さい。

f:id:u_chii:20200504223331p:plain

エクセルを「修正」→「テキスト」

 

セルのコンテンツ設定が開いたら、「コンテンツ」にヘッダ名を記載して「OK」ボタンです。

 

f:id:u_chii:20200504224336p:plain

セルのコンテンツ設定

 

続けて、隣の列、また隣とある分だけヘッダの設定をします。

f:id:u_chii:20200504224449p:plain

B1セル以降も同様

終わったら、ヘッダの手順はグループで括っておいた方が見やすくなるのでおすすめです。 

 

 手順4.カレントウィンドウの設定と行の挿入

カレントウィンドウは、タブをエクセルのものに切り替えるだけです。

 

f:id:u_chii:20200504230443p:plain

ウィンドウのタブをエクセルへ移動すると「カレントウィンドウ設定」となる

この画面になりましたか?
一番左上(Aの左、1の上)の全選択をクリックして下さい。

 

f:id:u_chii:20200504230009p:plain

全件選択

右クリックをして、「修正」→「挿入」→「行」→「最後」と押します。

挿入する行数(1回のループでのレコードの件数)は1です。

 

f:id:u_chii:20200504230628p:plain

修正→挿入→行→最後

f:id:u_chii:20200504230736p:plain

行数を1で設定する

このようにヘッダの次に枠ができましたでしょうか。

「今回のループではここに書き込んでいくよ~」というサインです。

f:id:u_chii:20200504230904p:plain

行が選択される

手順5.コンテンツ設定

A2を右クリックして、「コンテンツ設定」を選択してください。

 

f:id:u_chii:20200504231225p:plain

A2セルで「コンテンツ設定」を行う

セルのコンテンツ設定が出てきたら、「コンテンツ」の右端の▼を押して「変数」へ変更して下さい。

f:id:u_chii:20200504231259p:plain

セルのコンテンツ設定で「変数」を選択する

そうすると、「コンテンツ」でTypeで作成している変数が選択できるようになっているので該当する変数を選択します。これを2行目はすべて行います。

f:id:u_chii:20200504231641p:plain

該当する変数を選択する

 

手順6.書き込み

コンテンツの設定が終わったらいよいよ書き込みです。

前回のCSVの書き込みは、コンテンツ設定終了の直後のフローに記載していたのですが、エクセルでは変数に書き込んだものを一括で書き込みます。

そのため、ループの前にブランチを切って、「Write File」アクションを追加します。

f:id:u_chii:20200504235336p:plain

エクセル抽出をブランチで追加する

ファイル出力の画面は参考までに下記のような設定です。

「ファイル名」はフルパス、「ファイルエンコーディング」はWindows日本語(windows-31j)ではないといけないところがポイントです。

f:id:u_chii:20200504235404p:plain

エクセル抽出画面の設定内容

出力結果

以下のような形で出力出来ました。

ヘッダをつけた分、CSVよりもキレイに見えますね。(きっとCSVでもヘッダはつけることができます。やらなかっただけで)

f:id:u_chii:20200504234526p:plain

出力結果

冒頭にも出しましたが、上記の作業をレビューと両方やった結果、このようなフローを完成させました!めでたしめでたし!

f:id:u_chii:20200505002211p:plain

全体像

エクセル出力はなれるまでが大変ですね。

一度理解すれば、たいしたことはないと感じるようになるので是非エクセル変数を実践してみて下さい。

何度も書きますが、今回は学習にあたって、NO-WAYさんのブログを大変参考にしました。本当にわかりやすかったです。なかったらできませんでした!

https://nowaydunno.home.blog/2019/03/27/09-excel%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%87%BA%E5%8A%9B/2/

 

 

おまけ.メモリ不足

結構作業をパキパキやってると、メモリ不足で落ちることもしばしば…。

こまめにセーブしないといけないのは、プログラミングでもRPAでもRPGゲームでも一緒ですよ!

ぷん!怒

 

f:id:u_chii:20200505001658p:plain

モリー不足

 

 それではまた!