【RPA】Automation AnywhereでYYYYMMDDHHmmssを制作(ゼロ埋め)

#Automation AnywhereでYYYYMMDDHHmmssを制作(ゼロ埋め)
今回はログファイル名などによく使われるYYYYMMDDHHmmssの作成方法を説明します。

##作成フロー
流れとしては以下の通りです。

1.あらかじめ用意されている日時のシステム変数をリスト型変数の格納
2.格納したリストのループ開始
3.取り出された変数の長さをチェック
4.足りない桁数文ゼロをつける
5.value型変数に結合

です。早速やっていきます。

###まずは変数を作成
ワークベンチの右側にあるVARIABLE MANAGERをクリックし下にあるaddをクリックしてadd variableウィンドウを開きます。

![varoable.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/7dab8832-d9c7-a64c-1821-992bafc2b965.jpeg)

まずは日時を入れるリスト型変数から

Variable TypeのドロップダウンメニューからListを選択し、Nameで変数名を入力します。
*Automation Anywhereのコード規約で型の頭文字を変数名の最初につけることを推奨されています。*

次にList　Valueでリストの中の変数を作成します。(任意の数で大丈夫です。ただし無しにはできません。)

![variable2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/edd42840-1d7d-a6e3-f648-d0900a198e75.jpeg)

これでセーブして次にvalue型変数を作ります。

同じように次はVariable Typeのドロップダウンメニューからvalueを選択し、Nameで変数名を入力します。
こちらも変数名の先頭に方の頭文字を入れましょう。

![variable3.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/ce24ea6f-b7b8-2356-e671-c2e80494eec5.jpeg)

同じように要領で変数の長さをチェック用のvalue型変数も作ります。

今回はvalue に値を入れずにセーブします。nullでよろしいですかと聞かれますがそのままセーブしましょう！
これで変数の準備ができました！


###あらかじめ用意されている日時のシステム変数をリスト型変数の格納
Automation Anywhereでは日時を出力する変があらかじめ用意されています。
今回はその中からYear、Month、Day、Hour、Minute、Secondを使用します。

####String Operation Split
String Operationコマンドは文字列操作コマンドです。
テキスト文字列を操作したり、文字列の一部を抽出して変数に保管したりするために使用します。

今日はその中のSplitを使用します。Splitは指定した区切り文字で文字列を分割し、List 型変数に格納するコマンドです。

 String OperationのSplitウィンドウを開いてみましょう。
![split.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/0564767f-2c02-f3c7-b329-66e5aa7f2cec.jpeg)

このようなウインドウが開きます。
Source　Stringには操作したい文字列または変数を、Delimiterには区切りにしたい文字を　
Assign the output to variableは格納した変数をそれぞれ入力します。

今回は区切り文字を「/」とします。

まずはSource　Stringにシステム変数を間に「/」をつけながら入力します。
次にDelimiterに「/」を入力します。
最後にAssign the output to variableで先ほど作ったリスト型変数をドロップダウンメニューから選択します。
![sting2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/aea8f296-b11e-57b0-a158-1bc8bd99fe30.jpeg)

これでセーブします。

###格納したリストのループ開始
ではリストの中身を一つ一つ取り出すループ分を作成します。

コマンドの一覧からLoopを選択し、そのなかのListのウィンドウを開きます。
そしてListのドロップダウンメニューから値を格納したリスト型変数を選択します。
![variLoop.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/3d52b45a-796a-e987-ebd1-2b988e0fd7dc.jpeg)

これでセーブします。
![LoopWork.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/9bca56b0-1278-2f72-afa7-a37ce4734856.jpeg)

###取り出された変数の長さをチェック
ここで使うのはString Operationコマンドのlengthです。これは指定した値の文字数を返してくれるコマンドです。
Source　Stringにはリスト変数をAssign the output to variableには変数の長さをチェック用に作成した変数を選択します。
![length.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/f649e44b-be83-c8bf-1206-6b6f655e4f3e.jpeg)

これでセーブします。
###足りない桁数文ゼロをつける
ゼロをつける為にはつけるかどうかの条件分岐が必要です。
コマンドの一覧からIf/Elseを選択し、その中からvariableのウィンドウを開きます。
![if.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/b4268eb5-247c-8ef8-0793-7ce64f308e60.jpeg)

このままeditを押して条件を入力します。

variableには長さを入れた変数をOperationのドロップダウンメニューはEqual Toを選択し、ValueはFixで値を1にします。

![if2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/4c48e40c-17b9-96a1-c47c-03b3b57c7c89.jpeg)

これでセーブします。

###value型変数に結合
最後に結合なのですが
・値の長さが1なら0をつけて結合
・それ以外はそのまま結合
とします。

なのでif文がtrueの場合

![Vari0.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/54639b39-15a0-23e3-e82e-a65238e57ea1.jpeg)

Elseを挿入し

![Vari0_2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/ebd049cf-8fc6-6b57-e65d-1512f2ec74d1.jpeg)

とします。

最後にできているか確認したいのでメッセージボックスを追加し
![ZeroWorkBwnch.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/213513aa-dee5-a2d2-457e-86f18e0e2d06.jpeg)

これでできました！実行して確認してみましょう！

![ZeroMessage.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395789/358dfc9c-8b60-2420-cbaf-a4c012bffee5.jpeg)

今回は9月だったので、9月部分に0が追加されています。

是非、YYYYMMMDDHHmmssを作成する際に参考にしてください！
今回は以上です。最後まで読んでいただき、ありがとうございました。