前日の売上データを出力し、Excelで顧客や担当ごとに並び替え、指定したファイル名で保存する
ただし、実際の基幹システムを使って売上データを出力することはできないので、今回はサイトから日付指定したExcelデータをダウンロードし、そのExcelを加工し、ファイル名を変更して保存するというフローをつくってます。
つくったフローを説明します
フローでおこなったこと
「全国統一価格品目の価格2023年8月」で検索させる
2023年8月と2022年8月を比較し上昇率を加え並び替える
「2023年8月価格の上昇率と上昇順位」というファイル名に変更して保存する
実際にどう動くか
カモネギ課長まずは雰囲気を味わうネギ
つくったフローを確認









ヒャーーと思った人も大丈夫!ひとつずつ丁寧に解説していくネギ
フローを動かすためのアクション41個すべてを解説します
①現在の日時を取得


検索窓で日付を指定するための下準備。まず現在の日時を取得して、変数(CurrentTime)として保存する
②加算する日時


さきほど保存した現在の日時の変数(CurrentDateTime)を選択、今回は6か月前にしたいので、加算は「ー6」時間単位は「月」、計算された日時(ResultedDate)が生成されるので保存する
③datetimeをテキストに変換


先ほど生成した変数、6か月前の日時(ResultedDate)を選択し、カスタム形式で●●●●年●月に変換し、生成された変数(FormattedDateTime)を保存する
④新しいChromeを起動する


新しくブラウザを開き、サイトを表示する。サイト内でボタンを押したりするので、ウィンドウは最大化にしておく
⑤Wait 6秒を待機する
ブラウザーが開く前に、次のフローが動かないように「Wait」で時間を置く。時間がかかる動作のあとは必ず「Wait」で間を入れるのが必要。
⑥Webページ上のテキストフィールドをフォーカス


サイトに表示している検索窓(テキストフィールド)を指定する作業。UI要素で、WEBページURLと表示される検索窓を赤枠で指定する。Ctrl+左クリックで追加する
⑦Webページ内のテキストフィールドに入力する


検索窓に、検索したいキーワード+検索したい日時を入れる作業。先ほど指定したUI要素をを使い、テキスト欄に検索したい文字を入れる。今回は固定のテキストと日時を入れる。日時は①~③でつくった変数を使う。
⑧ウィンドウのUI要素をクリック


検索窓のボタンを押すための作業。⑥と同じ要領で検索ボタンをUI要素に指定し、左クリックをさせる。
⑨Wait 3秒を待機する
⑩ウィンドウのUI要素をクリック


検索結果のExcelボタンを押す作業。⑥と同じ要領でExcelボタンをUI要素に指定し、左クリックをさせる。
⑪Wait 5秒を待機する
⑫Webブラウザを閉じる


動作が干渉しないように作業が終了した画面は閉じる。
⑬フォルダー内のファイルを取得


ダウンロードしたExcelファイルを開く作業。ここではフォルダはデスクトップ。ファイルフィルターはファイルに一致する文字がないので「*」を使用しファイルを取得。※常に同じファイル名なら*ではなくその文字を入れる。ファイルは変数(Files)に入る。変数(Files)の中で作成時間順に並び替えをする
⑭Excelの起動


保存した変数(Files)からExeclを起動する。取得した順に番号が割り振られるので指定する。
⑮ウィンドウの状態の設定


誤動作を起こさないように開いたExcelを最大化する。
⑯Wait 5秒を待機する
⑰ウィンドウにフォーカスする


どのウィンドウで作業をするか指定するため、開いたExcelをフォーカスさせる
⑱Wait 3秒を待機する
⑲キーの送信


Excelをキーで操作する作業。まずExcel全体を選択するため「Ctrl+A」をキー送信する。2個以上のキーを同時に押す場合は{Control}({A})のように()で囲む。キー入力の間隔の遅延は「100」くらいにしておくと送信エラーが起きにくい。
⑳Wait 5秒を待機する
㉑キーの送信


選択したデータをコピーするため「Ctrl+C」をキー送信する。
㉒Wait 5秒を待機する
㉓Excelの起動


今回上昇率を比較するため、あらかじめ計算式を入力したExcel(ExcelInstance2)を用意しておき、そのExcelを開く。
㉔ウィンドウの状態の設定


㉕Wait 5秒を待機する
㉖ウィンドウにフォーカスする


計算式が入ったExeclを操作するため、先ほどのExcel(ExcelInstance)からフォーカスするExecl(ExcelInstance2)を変更する。
㉗キーの送信


計算式が入ったExecelにデータを貼り付ける。
㉘Wait 5秒を待機する
㉙キーの送信


Excel内でキーを動かし、指定する場所にカーソルをあわせる。
㉚Wait 3秒を待機する
㉛キーの送信


Excelのツールバーで並び替えを選択する。
㉜ウィンドウのUI要素をクリック


ウィンドウのUI要素をクリックを使って、Execlの「最優先されるキー」をクリックする。
㉝Wait 3秒を待機する
㉞キーの送信


キーを動かし最優先されるキー、今回は「上昇率」を選ぶ
㉟Wait 3秒を待機する
㊱キーの送信


キーを動かし並び順を選択
㊲キーの送信


キーを動かし大きい順に変更
㊳キーの送信


ReturnキーでOKを押すとExeclで並び替えが行われる。
㊴Excelの保存


加工したExeclを、今回比較した日時を入れたファイル名で保存する。
㊵Excelを閉じる


1個目のExcel(ExcelInstance)を閉じる。
㊶Execlを閉じる


2個目のExcel(ExcelInstance2)を閉じる。



なんとなくは理解できたネギ?意外とアナログな方法で動かしているのがわかるネギ
もう一度動く様子を確認
前日の売上データを並び替えファイル名を変更して保存する方法
今回のフローを応用する
現在の日時、加算する日時で取得し、テキストフィールドで入れる
UI要素でボタンを押し、キー送信を使う
もう1つのExcelの起動、キー送信を使い、Excelを操作する
ファイル名を指定して保存する
まとめ
会社によりいろいろな形で出力、加工、保存をしているかと思うので、このようなフロー例になってしまいましたが、「日付の取得」「項目に入力」「出力ボタンを押す」「ファイルの操作」がわかると使用できる範囲も広がるかなと思います。毎日の作業に自動化を是非取り入れてみてください。


