はじめに
はじめまして、こんにちは。
人生初めてのアドベントカレンダーということでUipath暦1年9ヶ月、あまり使ったことのないセルの色を操作するアクティビティでロボットにドット絵もどきを描いてもらいました。
(余裕の遅刻ですみません)
では、早速行きましょう
セルの色ってどうやって塗るの?
Uipathにはセルの色を取得するアクティビティと範囲のセルの色を変えるアクティビティがあります。これを使います。
※「セルの色を取得」と「範囲の色を設定」
セル番地を移動させるのはどうやるか
行は数字なので加算すればいい。問題は列名。繰り返すなら数字のほうが楽。
ただ、エクセルは27文字目以降「AA」のようにアルファベットが繰り上がります。
数字からこのアルファベットをどうやって変換するか。
ヒントは26進数!
26進数の考え方で26までいったら1繰り上がるようなソースを作ります。
- まず、アルファベットの26文字に対応する数字のディクショナリ型を作ります。
↓こんな感じの
- 目的の番号を26で割りあまりを求める⇒あまりに対応するアルファベットを設定
- 商が1以上の場合、2を再実行し、設定したアルファベットを文字列結合
セル番地の移動ができるようになったので...
縦と横にループでセル移動させて、色塗ったり、色を取得するようにする。
ロボを作る
実験
セルの色をRGBで指定して、グラデーションをさせてみる。
これはこれできれい。Qiita用の色塗りロボ、その1
— ベルガモット@C97 12/31(火) 西 B-66a (@belgamot_007) December 17, 2019
目標はお絵かきするロボ(時間の関係で2倍速) pic.twitter.com/KxEMNdV3Na
本題!
お手本と同じ絵をエクセルに描いてもらう
できた(右がお手本。)Qiita用の色塗りロボ、その2
— ベルガモット@C97 12/31(火) 西 B-66a (@belgamot_007) December 17, 2019
お手本を真似させてみた(時間の関係で2.5倍速) pic.twitter.com/CIQdEd2IMv
おまけ
背景色を取得して、背景を青に塗り替える。
これもうまくできた。Qiita用の色塗りロボ、その3
— ベルガモット@C97 12/31(火) 西 B-66a (@belgamot_007) December 17, 2019
お手本を真似ながら、背景色を変えてみる(時間の関係で2.5倍速) pic.twitter.com/BaZTn7Fry1
まとめ
これをうまく使えば、ロボでドット絵アニメーションとかできるのでは?!