Share
Embed
「Excel中心ロボ」~インストール後、先に進めないあなたへ~
20210831 RPA勉強会 UiPath Talk「Excel中心ロボ」~インストール後、先に進めないあなたへ~
HANACCHI
August 31, 2021
Transcript
42 slides
-
はなっち!とは… 2019年10月 UiPath Japan MVP 2019 認定 2020年10月
UiPath Japan MVP 2020 認定 2021年10月 UiPath Japan MVP 2021 認定されるか!? 2020年11月 定年退職 同 年 同 月 FUJITSU UT社と契約 お客様先でRPAサポート&開発 Twitter:hjmkzk Qiita:@HANACCHI FaceBook:hajime.kozaki -
Today’s EXCEL中心のロボ 1. Studio Basic 2. Excel Operation With Studio
3. Let’s TRY Excel Operation With Studio 4. Next Stage Is DataTable Type -
① Windowsの[スタート]から、 ② メニューと辿って、 ③ [U(iPath)] > [UiPath Studio]を クリックします
① ③ ② Studio Starting! -
命名規約に沿っ たロボット名 ロボットの機能 概要を記入 ロボットが格納 されるフォルダ 新しい空のプロセス (2021.6.0) ターゲットフレームワークとして クラシック(.NET
Framework 461)を選択 注: プロジェクト名は 128 文字までで、 説明は 500 文字までです。 自動化ワークフローの開発言語に Visual Basic(VB)だけでなく C#もサポート! -
Studio 編集画面 デザイン/実行タブ プロジェ クト/ アクティ ビティ パネル デザインパネル プロパ
ティパネ ル (2021.6.0) -
Studio デザイン/実行タブ(1/2) (2021.6.0) ボタン名 機能 備考 新規⇒ 分割したロボ機能を作成する場合に使用 シーケンス シーケンスタイプ
後述 フローチャート フローチャートタイプ 後述 ステートマシン 使わない 複雑な制御が出来ます グローバルハンドラー 使わない エラーを集約出来ます 保存 編集したロボットを保存します 実行時にも保存される 名前を付けて保存 バックアップを作成する場合などに使用 すべて保存 編集中のファイルをすべて保存します 実行時にも保存される -
Studio デザイン/実行タブ(2/2) ボタン名 機能 備考 実行 作成したロボを実行します ファイルを実行 アクティブなxamlを起動します ファイルをデバッグ
アクティブなxamlをデバッグ起動します (解説しません) 実行 メインに設定されているxamlを起動します デバッグ メインに設定されているxamlをデバッグ起 動します (解説しません) 導入⇒ パブリッシュ 管理サーバに登録します (2021.6.0) -
ロボットの部品.xamlファイルを右クリックすると… Main.xaml (追加した)シーケンス.xaml Main.xamlには「メインに設定」がない シーケンス.xamlには「メインに設定」がある 故に、Main.xamlには「メインに設定」がされている! (2021.6.0) シーケンス.xamlがアクティブでも、「実行」ボタンをク リックすると、Main.xamlが実行される! シーケンス.xamlがアクティブで、「ファイルを実行」ボ
タンをクリックすると、シーケンス.xamlが実行される! 追加 > 「メインに設定」されている.xamlファイ ルは、Explorerから容易に削除できてしま います。 削除した状態で、PUBLISHし、実行しよ うとすると、 「メインに設定」されてい る.xamlがない!エラーで異常終了します -
Studio デサインパネル/編集タブ 必要なアクティビ ティを、アクティビ ティパネルからド ラッグし、ここに& ドロップします アクティビティとア クティビティを情報 交換するための「変
数」を定義します (2021.6.0) アクティビティが動 くのに必要な情報 (変数、固定値)を、 アクティビティ上で 設定する -
Studio プロパティパネル アクティビティ英語名 アクティビティが動く のに必要な情報(変数、 固定値)をプロパティパ ネル上で設定する アクティビティの名前 です。なるべく重複し ない方がいいです
アクティビティが動い た結果を格納する変数 を指定する (2021.6.0) アクティビティが動 くのに必要な情報 (変数、固定値)を、 アクティビティ上で 設定する -
共通 ① ロボット開始 ② 【入力ダイアログ】アクティビティが起動される ③ 画面から名前を入力し、[OK]ボタンをクリックする ④ 【入力ダイアログ】アクティビティが終了し、【メッセージボックス】アクティビティが起動される ⑤
画面から入力された内容を、併せて表示する ⑥ ロボット終了 ③ ⑥ ① ② ④ ⑤ ロボットの動き(シーケンスを例に) -
変数 • 変数とは、人が入力した値などを仮に入れておく、コンピュータ上の 容れ物。人以外にも、EXCELのシート上の値も入れる事が出来る。 • また、その容れ物に入れてある値を、使用する事が出来る。 • この容れ物に「名前」を付ける。UiPathでは日本語を推奨! • この容れ物には様々な「変数の型」がある。
• 変数は、「スコープ」と言う有効範囲で有効である。 Boolean:TrueかFalse Int32:整数 String:文字列 Object:可変 DataTable:データテーブル型 Array Of [T]:Tと言う型の配列 他に DateTime:日付時刻 DataColume:データテーブルの列情報型 DataRow:データテーブルの行情報型 List:Listコレクション型 Dictionary:辞書型 WorkbookApplication:ExcelBook型 共通 -
配列 • 配列(array)とは,同一の型のデータを(メモリ上に)一列に(隙間をあけず に)並べたものである。 • 違う型のデータを混在して並べて配列とすることはできない。 • 配列中の各データを,配列の要素(element)という。 • 配列には,その配列全体を指すための名前(配列名)がついている。
• 配列名(=変数名)に対して、(n)で、直接n番目の値を参照する事ができる。 • 配列の要素数は、.Countで取得する事ができる。 • 配列数より大きいn番目、小さいn番目を指定すると、異常終了する。 • 「繰り返し (コレクションの各要素)」アクティビティにより、各要素を シーケンシャルに処理できる。 参考:https://www.cc.kyoto-su.ac.jp/~yamada/programming/array.html 配列名(=変数名):a a(0) a(1) a(2) a(3) a(4) a.Count … 要素の数(=5)が得られる -
UiParhで、 操作できる事 (2021.6.0) • 標準アクティビティは数百あり ます。 • 全てを覚えきれませんので、 「検索」機能を使います。 ⇒図は「EXCEL」で検索した
結果 • 検索キーワードにムラがありま す。 ⇒フォルダでHITするもの、 ディレクトリでHITするもの。 -
今回説明する アクティビティ (EXCELで検索) (2021.6.0) 注意!! “セルを”で検索すると、2つ出てきま す。 アプリの連携 > Excelのアクティビ
ティは、Excelアプリケーションスコー プの配下で動くタイプです。 ファイル > ワークブックのアクティビ ティは、フルパス名を指定するタイプ です。 基本、アプリの連携系のアクティビ ティをお使いください。 -
EXCELの基本操作(5/7) • EXCEL系の様々なアクティビティは、 【Excel アプリケーションスコープ】アクティビティの配下に配置する 【セルに書き込み】は、 「値」に指定した値を、 指定した[シート名]上の [範囲]に書き込む。 この場合、先に読み込ん
だ[CValue]であるが、 「値」に[CValue]を指定 してもエラーとなる ↓エラーが存在すると… 共通 -
スコープ(1/2) • スコープとは、変数の有効範囲である。 • 有効範囲は、シーケンス単位などである。 • 有効範囲は階層を持ち、上位のスコープを指定すれば広い範囲で使用できる。 EXCEL Excel アプリケーションスコープ
実行 Excel アプリケーションスコープ 実行 最上位スコープ 二階層スコープ 二階層スコープ • CValue,DValueは、最初の[二階層スコープ] で定義したので、その外では参照出来ない CValue 共通 -
スコープ(2/2) • スコープとは、変数の有効範囲である。 • 有効範囲は、シーケンス単位などである。 • 有効範囲は階層を持ち、上位のスコープを指定すれば広い範囲で使用できる。 EXCEL Excel アプリケーションスコープ
実行 Excel アプリケーションスコープ 実行 最上位スコープ • 変数タグから、上位スコープを指定する事で、 他のスコープでも使用可能となる CValue CValue 二階層スコープ 二階層スコープ 共通 -
EXCELの基本操作(7/7) • EXCEL系の様々なアクティビティは、 【Excel アプリケーションスコープ】アクティビティの配下に配置する 【範囲に書き込み】は、 「データテーブル」に指 定した値を、指定した [シート名]上の[開始セ ル]に書き込む。
スコープが上位になって いるので、参照できるよ うになった ↓エラーは存在しない 共通 -
実行ログに記録されるタイミング • ロボットが開始した時 • 「1 行を書き込み」アクティビティで指定され たメッセージ • 「メッセージをログ」アクティビティで指定さ れたレベル、メッセージ
• 「ステータスを報告」アクティビティで指定さ れたメッセージはログには記録されませんが、 UiPath ROBOTで実行させる時の表示メッセー ジになります • ロボットが終了した時 共通 実行ログに書き込むアクティビティ -
【事前準備】 1. Excel1.xlsx、 Excel2.xlsxを作成し、デスクトッ プ上の任意のフォルダに格納する 2. Excel1.xlsxの[Sheet1]の、A1セルから、 G20セルまで、適当な値を設定する。 ⇒例は伝票をイメージしてみた ロボ作成ハンズオン
【ロボット作成】 1. Excel1.xlsxの[Sheet1]の、[G1セル]を読み込み、 Excel2.xlsxの[転記先C]シート(事前準備不要)のA1セルに書き込んでみる 2. Excel1.xlsxの[Sheet1]の、[G2セル]を読み込み、 Excel2.xlsxの[転記先C]シート(事前準備不要)のB1セルに書き込んでみる 3. Excel1.xlsxの[Sheet1]の、[範囲無指定]で範囲を読み込み(ヘッダー追加□)、 Excel2.xlsxの[転記先D]シート(事前準備不要)のC1セルに書き込んでみる(ヘッダー追加▪) 【ポイント】 • ロボット作成の3.で、書き込みの際にヘッダー追加をチェックOffしたらどうなるだろう? • ロボット作成の3.で、読み込みの際にヘッダー追加をチェックONしたらどうなるだろう? EXCEL1.xlsx