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