2020年4月からUiPathを使って仕事をする中でやったことをまとめる
UiPathStudioのインストール、アンインストール、ライセンス適用などの環境設定
###作ってるツール
- Uipath Studio(Ver2018.4)
- Orchestrator
###作ったワークフロー
細かいことを除いてざっくり言うと以下の事をするワークフローを作成
最初に1のAttended版をUnattended版に作り替えることから始まった
主に1を作ることが多く、秋ごろから2,3を作るようになった
1. Webサイトにログインしてファイルをダウンロードする
2. Excelファイルの表データを読み込んで別ファイルに追加する
3. Excelでアドオン機能を操作し、取得したデータを別ファイルに転記する
使ったアクティビティ一覧
- シーケンス(Sequence)
- フローチャート(Flowchart)
- メッセージボックス(MessageBox)
- 1行書き込み(WriteLine)
- プロセスを強制終了(KillProcess)
- 代入(Assign)
- パスの存在を確認(PathExists)
- フォルダを作成(CreateDirectory)
- ファイルを作成(CreateFile)
- ファイルをコピー(CopyFile)
- 条件分岐(Statements.If)
- フロー条件分岐(FlowDecision)
- 削除(Delete)
- 待機(Delay)
- トライキャッチ(TryCatch)
- ワークフロー ファイルを呼び出し(InvokeWorkflowFile)
- プロセスを開始(StartProcess)
- 繰り返し(各行)(ForEachRow)
- スイッチ(Switch)
- フロースイッチ(FlowSwitch)
- ブラウザを開く(OpenBrowser)
- ウィンドウを最大化(MaximizeWindow)
- アクティベート(Activate)
- クリック(Click)
- チェック(Check)
- 画像をクリック(ClickImage)
- ブラウザにアタッチ(BrowserScope)
- 文字を入力(TypeInto)
- SecureStringで文字を入力(TypeSecureText)
- 要素の存在を確認(UiElementExists)
- 要素を探す(WaitUiElementAppear)
- 画像の存在を確認(ImageFound)
- タブを閉じる(CloseTab)
- アプリケーションを閉じる(CloseApplication)
- スロー(Throw)
- ホットキーを押下(SendHotkey)
- テキストを取得(GetValue)
- ウィンドウにアタッチ(WindowScope)
- Excel アプリケーション スコープ(ExcelApplicationScope)
- セルを読み込み(ExcelReadCell)
- 範囲を読み込み(ExcelReadRange)
- 範囲を読み込み(ReadRange)
- 範囲を追加(ExcelAppendRange)
- セルに書き込み(ExcelWriteCell)
- 範囲に書き込み(ExcelWriteRange)
- 範囲に書き込み(WriteRange)
- CSV に書き込み(WriteCsvFile)
- 構造化データを抽出(ExtractData)
- データ テーブルを検索(LookupDataTable)
- データ テーブルをフィルター(FilterDataTable)
- データ テーブルを並べ替え(SortDateTable)
- データ テーブルを構築(BuildDataTable)
- 繰り返し (コレクションの各要素)(ForEach)
- 繰り返し (前判定)(InterruptibleWhile)
- 繰り返し (各行)(ForEachRow)
- 繰り返しをブレーク(Break)
- データ行を追加(AddDataRow)
- ピボット テーブルを作成(ExcelCreatePivotTable)
- ピボット テーブルを更新(ExcelReflashPivotTable)
- 項目を選択(SelectItem)
- 複数の項目を選択(SelectMultipleItems)
- SMTP メール メッセージを送信(SendMail)
###使った.NETの記述
.Directory.GetFiles
System.IO.Directory.GetFiles("フォルダのファイルパス",".xlsx")
特定のフォルダからExcelファイルのパスを取得したい時に使用
ファイル形式を絞らない場合は,".xlsx"
は省略可
これを配列型String変数に代入して繰り返し(コレクションの各要素)でループして特定のファイルを探し処理するという使い方をした
ちなみにこの書き方だとサブフォルダのファイルは取得できない
全部取得したい場合は以下らしい(試してないから未来の私用のメモ)
System.IO.Directory.GetFiles("フォルダのファイルパス","*",System.IO.SearchOption.AllDirectories)
String.IsNullOrEmpty
String.IsNullOrEmpty(変数)
指定した変数に文字列があるかないかで使用。戻り値はTrue,False
条件分岐で使用した
ごめん、つづきは今後更新する
そのほかにも日付取得とか文字列をさがしたり分割したり
データテーブルに新しい行を追加したりもあるけど追々追加する
あとアクティビティ一覧の方も実際の使い方をリンク付けていきたいと思っている
こうして書いてみると今までいろんな人が書いた記事にお世話になっているけど、書く方は大変だね
記述が誤ってないか調べなおしたり、誤字が無いか何回も読んだり
それでも間違っているところがあると思うのでその時は都度更新する・・
未来の自分のためと、これから使う人に少しでも役に立てればという気持ちで投稿していきます
(そして記事書いてくれている人たち本当にありがとう!在宅で気軽に人に聞けなくても調べて開発できる)
2021年末にこれを見て、ここからどれほど新しいことを覚えたかを確認するのが楽しみだ
何も成長していませんでした!というのはなるべく避けたいなぁ・・