「Excel中心ロボ」~インストール後、先に進めないあなたへ~
by
HANACCHI
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
~インストール後、先に進めないあなたへ~ EXCEL中心のロボ
Slide 2
Slide 2 text
はなっち!とは… 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
Slide 3
Slide 3 text
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
Slide 4
Slide 4 text
EXCEL中心のロボ Studio Basic
Slide 5
Slide 5 text
必須入力 任意入力 参考情報 【スライド上の表記】 禁止情報 (版数)
Slide 6
Slide 6 text
① Windowsの[スタート]から、 ② メニューと辿って、 ③ [U(iPath)] > [UiPath Studio]を クリックします ① ③ ② Studio Starting!
Slide 7
Slide 7 text
Studio 初期画面 過去作成した ロボット一覧 (PIN留め可能) 新規作成 (2021.6.0) 触らない
Slide 8
Slide 8 text
Studio ヘルプ バージョン情 報など (2021.6.0) 素早くダブル クリックして みよう
Slide 9
Slide 9 text
命名規約に沿っ たロボット名 ロボットの機能 概要を記入 ロボットが格納 されるフォルダ 新しい空のプロセス (2021.6.0) ターゲットフレームワークとして クラシック(.NET Framework 461)を選択 注: プロジェクト名は 128 文字までで、 説明は 500 文字までです。 自動化ワークフローの開発言語に Visual Basic(VB)だけでなく C#もサポート!
Slide 10
Slide 10 text
Studio 編集画面 デザイン/実行タブ プロジェ クト/ アクティ ビティ パネル デザインパネル プロパ ティパネ ル (2021.6.0)
Slide 11
Slide 11 text
Studio デザイン/実行タブ(1/2) (2021.6.0) ボタン名 機能 備考 新規⇒ 分割したロボ機能を作成する場合に使用 シーケンス シーケンスタイプ 後述 フローチャート フローチャートタイプ 後述 ステートマシン 使わない 複雑な制御が出来ます グローバルハンドラー 使わない エラーを集約出来ます 保存 編集したロボットを保存します 実行時にも保存される 名前を付けて保存 バックアップを作成する場合などに使用 すべて保存 編集中のファイルをすべて保存します 実行時にも保存される
Slide 12
Slide 12 text
Studio デザイン/実行タブ(2/2) ボタン名 機能 備考 実行 作成したロボを実行します ファイルを実行 アクティブなxamlを起動します ファイルをデバッグ アクティブなxamlをデバッグ起動します (解説しません) 実行 メインに設定されているxamlを起動します デバッグ メインに設定されているxamlをデバッグ起 動します (解説しません) 導入⇒ パブリッシュ 管理サーバに登録します (2021.6.0)
Slide 13
Slide 13 text
ロボットの部品.xamlファイルを右クリックすると… Main.xaml (追加した)シーケンス.xaml Main.xamlには「メインに設定」がない シーケンス.xamlには「メインに設定」がある 故に、Main.xamlには「メインに設定」がされている! (2021.6.0) シーケンス.xamlがアクティブでも、「実行」ボタンをク リックすると、Main.xamlが実行される! シーケンス.xamlがアクティブで、「ファイルを実行」ボ タンをクリックすると、シーケンス.xamlが実行される! 追加 > 「メインに設定」されている.xamlファイ ルは、Explorerから容易に削除できてしま います。 削除した状態で、PUBLISHし、実行しよ うとすると、 「メインに設定」されてい る.xamlがない!エラーで異常終了します
Slide 14
Slide 14 text
Studio プロジェクト/アクティビティ/スニペットタブ ロボット 内部の情報 ロボット が使える部品 ひな型ロボ部品 (2021.6.0)
Slide 15
Slide 15 text
Studio デサインパネル/編集タブ 必要なアクティビ ティを、アクティビ ティパネルからド ラッグし、ここに& ドロップします アクティビティとア クティビティを情報 交換するための「変 数」を定義します (2021.6.0) アクティビティが動 くのに必要な情報 (変数、固定値)を、 アクティビティ上で 設定する
Slide 16
Slide 16 text
Studio プロパティパネル アクティビティ英語名 アクティビティが動く のに必要な情報(変数、 固定値)をプロパティパ ネル上で設定する アクティビティの名前 です。なるべく重複し ない方がいいです アクティビティが動い た結果を格納する変数 を指定する (2021.6.0) アクティビティが動 くのに必要な情報 (変数、固定値)を、 アクティビティ上で 設定する
Slide 17
Slide 17 text
シーケンスとフローチャート シーケンス:並べたアクティビティを、上から順に 実行していきます。条件分岐は階層化すると見にく くなります。 フローチャート:配置したアクティビティを、接続 線の順に実行していきます。条件分岐は階層化して もそう見にくくなりませんが、接続線が交差したり、 上に戻ったりすると、可読性が悪くなります。 共通
Slide 18
Slide 18 text
共通 ① ロボット開始 ② 【入力ダイアログ】アクティビティが起動される ③ 画面から名前を入力し、[OK]ボタンをクリックする ④ 【入力ダイアログ】アクティビティが終了し、【メッセージボックス】アクティビティが起動される ⑤ 画面から入力された内容を、併せて表示する ⑥ ロボット終了 ③ ⑥ ① ② ④ ⑤ ロボットの動き(シーケンスを例に)
Slide 19
Slide 19 text
変数 • 変数とは、人が入力した値などを仮に入れておく、コンピュータ上の 容れ物。人以外にも、EXCELのシート上の値も入れる事が出来る。 • また、その容れ物に入れてある値を、使用する事が出来る。 • この容れ物に「名前」を付ける。UiPathでは日本語を推奨! • この容れ物には様々な「変数の型」がある。 • 変数は、「スコープ」と言う有効範囲で有効である。 Boolean:TrueかFalse Int32:整数 String:文字列 Object:可変 DataTable:データテーブル型 Array Of [T]:Tと言う型の配列 他に DateTime:日付時刻 DataColume:データテーブルの列情報型 DataRow:データテーブルの行情報型 List:Listコレクション型 Dictionary:辞書型 WorkbookApplication:ExcelBook型 共通
Slide 20
Slide 20 text
変数の例 … 「入力名前」が、変数。 共通
Slide 21
Slide 21 text
変数の定義方法 • 変数タブから「変数の作成」をクリックし、名前、変数の型を設定する 共通 • プロパティパネルの出力系のテキストボックス上で、「Ctrl+k」を押下す ると、「名前の設定:」状態となる。ここに、新しい変数名を入力する ⇒この時の「変数の型」は、そのアクティビティの出力が、自動的に判断、 設定してくれる。スコープは、そのアクティビィティの直上位となる
Slide 22
Slide 22 text
配列 • 配列(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)が得られる
Slide 23
Slide 23 text
EXCEL中心のロボ Excel Operation With Studio
Slide 24
Slide 24 text
UiParhで、 操作できる事 (2021.6.0) • 標準アクティビティは数百あり ます。 • 全てを覚えきれませんので、 「検索」機能を使います。 ⇒図は「EXCEL」で検索した 結果 • 検索キーワードにムラがありま す。 ⇒フォルダでHITするもの、 ディレクトリでHITするもの。
Slide 25
Slide 25 text
今回説明する アクティビティ (EXCELで検索) (2021.6.0) 注意!! “セルを”で検索すると、2つ出てきま す。 アプリの連携 > Excelのアクティビ ティは、Excelアプリケーションスコー プの配下で動くタイプです。 ファイル > ワークブックのアクティビ ティは、フルパス名を指定するタイプ です。 基本、アプリの連携系のアクティビ ティをお使いください。
Slide 26
Slide 26 text
EXCELの基本操作(1/7) • EXCELブックを指定するには、 【Excel アプリケーションスコープ】アクティビティを使用する • 【Excel アプリケーションスコープ】アクティビティを入れ子にすること は出来ない 入れ子 ダメな例 共通
Slide 27
Slide 27 text
共通 • 【Excel アプリケーションスコープ】アクティビティが独立している! 「CValue」 「DValue」 EXCELの基本操作(2/7) 変数 CValue:CellValue DValue:DataTableValue
Slide 28
Slide 28 text
EXCELの基本操作(3/7) • EXCEL系の様々なアクティビティは、 【Excel アプリケーションスコープ】アクティビティの配下に配置する 【セルを読み込み】は、 指定した[シート名]上の [セル]を読み込み、[結 果]に指定した変数 (GenericValue型)に格納 する 共通
Slide 29
Slide 29 text
EXCELの基本操作(4/7) • EXCEL系の様々なアクティビティは、 【Excel アプリケーションスコープ】アクティビティの配下に配置する 【範囲を読み込み】は、 指定した[シート名]上の [範囲]を読み込み、[デー タテーブル]に指定した 変数(DataTable型)に格 納する。 ※「ヘッダーの追加」の 違いは試してみよう! 共通
Slide 30
Slide 30 text
EXCELの基本操作(5/7) • EXCEL系の様々なアクティビティは、 【Excel アプリケーションスコープ】アクティビティの配下に配置する 【セルに書き込み】は、 「値」に指定した値を、 指定した[シート名]上の [範囲]に書き込む。 この場合、先に読み込ん だ[CValue]であるが、 「値」に[CValue]を指定 してもエラーとなる ↓エラーが存在すると… 共通
Slide 31
Slide 31 text
スコープ(1/2) • スコープとは、変数の有効範囲である。 • 有効範囲は、シーケンス単位などである。 • 有効範囲は階層を持ち、上位のスコープを指定すれば広い範囲で使用できる。 EXCEL Excel アプリケーションスコープ 実行 Excel アプリケーションスコープ 実行 最上位スコープ 二階層スコープ 二階層スコープ • CValue,DValueは、最初の[二階層スコープ] で定義したので、その外では参照出来ない CValue 共通
Slide 32
Slide 32 text
スコープ(2/2) • スコープとは、変数の有効範囲である。 • 有効範囲は、シーケンス単位などである。 • 有効範囲は階層を持ち、上位のスコープを指定すれば広い範囲で使用できる。 EXCEL Excel アプリケーションスコープ 実行 Excel アプリケーションスコープ 実行 最上位スコープ • 変数タグから、上位スコープを指定する事で、 他のスコープでも使用可能となる CValue CValue 二階層スコープ 二階層スコープ 共通
Slide 33
Slide 33 text
① 上位(EXCEL)での定義と、現位 (EXCEL1 実行)での定義とが被っている。 ② 他スコープ(実行)ではエラーは見られな いが、(EXCEL1 実行)ではどちらを使用 するのかが判断つかず、エラーとなっ ている 共通 スコープ エラーの例
Slide 34
Slide 34 text
EXCELの基本操作(6/7) • EXCEL系の様々なアクティビティは、 【Excel アプリケーションスコープ】アクティビティの配下に配置する 【セルに書き込み】は、 「値」に指定した値を、 指定した[シート名]上の [範囲]に書き込む。 スコープが上位になって いるので、参照できるよ うになった ↓エラーは存在しない 共通
Slide 35
Slide 35 text
EXCELの基本操作(7/7) • EXCEL系の様々なアクティビティは、 【Excel アプリケーションスコープ】アクティビティの配下に配置する 【範囲に書き込み】は、 「データテーブル」に指 定した値を、指定した [シート名]上の[開始セ ル]に書き込む。 スコープが上位になって いるので、参照できるよ うになった ↓エラーは存在しない 共通
Slide 36
Slide 36 text
• Studioで、[Ctrl+l]を押下すると、UiPath実行ロ グファイルが格納されたフォルダが開きます。 • 2021-08-22_Execution.logが実行ログです。 • 他ファイル名の.logがありますが、有事に参照す る位で、普段は中身を見ません • このフォルダ中のファイルはHDDの空き容量確 保のため、適宜削除しても大丈夫です。 共通 実行ログ
Slide 37
Slide 37 text
実行ログに記録されるタイミング • ロボットが開始した時 • 「1 行を書き込み」アクティビティで指定され たメッセージ • 「メッセージをログ」アクティビティで指定さ れたレベル、メッセージ • 「ステータスを報告」アクティビティで指定さ れたメッセージはログには記録されませんが、 UiPath ROBOTで実行させる時の表示メッセー ジになります • ロボットが終了した時 共通 実行ログに書き込むアクティビティ
Slide 38
Slide 38 text
ログ時刻.ミリ秒 レベル 開始、メッセージ、 終了 以降複数情報あり (あまり参照しない) 共通 2021-08-22_Execution.log 実行ログの内容
Slide 39
Slide 39 text
これ、知ってた? 何気なく使っている右クリック⇒プロパ ティ。 Shift+右クリックで、機能メニューが増え ます! ⇒「パスのコピー(A) 」を選択すると、 二重引用符付フルパス名が取得できます! "C:¥Users¥z102234¥Desktop¥ロボ作成ハ ンズオン¥EXCEL1.xlsx"
Slide 40
Slide 40 text
EXCEL中心のロボ Let’s TRY Excel Operation With Studio
Slide 41
Slide 41 text
【事前準備】 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
Slide 42
Slide 42 text
EXCEL中心のロボ Next Stage Is DataTable Type To Be Continue