Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「Excel中心ロボ」~インストール後、先に進めないあなたへ~

HANACCHI
August 31, 2021
780

 「Excel中心ロボ」~インストール後、先に進めないあなたへ~

20210831 RPA勉強会 UiPath Talk「Excel中心ロボ」~インストール後、先に進めないあなたへ~

HANACCHI

August 31, 2021
Tweet

Transcript

  1. はなっち!とは…  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
  2. 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
  3. 命名規約に沿っ たロボット名 ロボットの機能 概要を記入 ロボットが格納 されるフォルダ 新しい空のプロセス (2021.6.0) ターゲットフレームワークとして クラシック(.NET

    Framework 461)を選択 注: プロジェクト名は 128 文字までで、 説明は 500 文字までです。 自動化ワークフローの開発言語に Visual Basic(VB)だけでなく C#もサポート!
  4. Studio デザイン/実行タブ(1/2) (2021.6.0) ボタン名 機能 備考 新規⇒ 分割したロボ機能を作成する場合に使用 シーケンス シーケンスタイプ

    後述 フローチャート フローチャートタイプ 後述 ステートマシン 使わない 複雑な制御が出来ます グローバルハンドラー 使わない エラーを集約出来ます 保存 編集したロボットを保存します 実行時にも保存される 名前を付けて保存 バックアップを作成する場合などに使用 すべて保存 編集中のファイルをすべて保存します 実行時にも保存される
  5. Studio デザイン/実行タブ(2/2) ボタン名 機能 備考 実行 作成したロボを実行します ファイルを実行 アクティブなxamlを起動します ファイルをデバッグ

    アクティブなxamlをデバッグ起動します (解説しません) 実行 メインに設定されているxamlを起動します デバッグ メインに設定されているxamlをデバッグ起 動します (解説しません) 導入⇒ パブリッシュ 管理サーバに登録します (2021.6.0)
  6. ロボットの部品.xamlファイルを右クリックすると… Main.xaml (追加した)シーケンス.xaml Main.xamlには「メインに設定」がない シーケンス.xamlには「メインに設定」がある 故に、Main.xamlには「メインに設定」がされている! (2021.6.0) シーケンス.xamlがアクティブでも、「実行」ボタンをク リックすると、Main.xamlが実行される! シーケンス.xamlがアクティブで、「ファイルを実行」ボ

    タンをクリックすると、シーケンス.xamlが実行される! 追加 > 「メインに設定」されている.xamlファイ ルは、Explorerから容易に削除できてしま います。 削除した状態で、PUBLISHし、実行しよ うとすると、 「メインに設定」されてい る.xamlがない!エラーで異常終了します
  7. Studio プロパティパネル アクティビティ英語名 アクティビティが動く のに必要な情報(変数、 固定値)をプロパティパ ネル上で設定する アクティビティの名前 です。なるべく重複し ない方がいいです

    アクティビティが動い た結果を格納する変数 を指定する (2021.6.0) アクティビティが動 くのに必要な情報 (変数、固定値)を、 アクティビティ上で 設定する
  8. 変数 • 変数とは、人が入力した値などを仮に入れておく、コンピュータ上の 容れ物。人以外にも、EXCELのシート上の値も入れる事が出来る。 • また、その容れ物に入れてある値を、使用する事が出来る。 • この容れ物に「名前」を付ける。UiPathでは日本語を推奨! • この容れ物には様々な「変数の型」がある。

    • 変数は、「スコープ」と言う有効範囲で有効である。 Boolean:TrueかFalse Int32:整数 String:文字列 Object:可変 DataTable:データテーブル型 Array Of [T]:Tと言う型の配列 他に DateTime:日付時刻 DataColume:データテーブルの列情報型 DataRow:データテーブルの行情報型 List:Listコレクション型 Dictionary:辞書型 WorkbookApplication:ExcelBook型 共通
  9. 配列 • 配列(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)が得られる
  10. 今回説明する アクティビティ (EXCELで検索) (2021.6.0) 注意!! “セルを”で検索すると、2つ出てきま す。 アプリの連携 > Excelのアクティビ

    ティは、Excelアプリケーションスコー プの配下で動くタイプです。 ファイル > ワークブックのアクティビ ティは、フルパス名を指定するタイプ です。 基本、アプリの連携系のアクティビ ティをお使いください。
  11. スコープ(1/2) • スコープとは、変数の有効範囲である。 • 有効範囲は、シーケンス単位などである。 • 有効範囲は階層を持ち、上位のスコープを指定すれば広い範囲で使用できる。 EXCEL Excel アプリケーションスコープ

    実行 Excel アプリケーションスコープ 実行 最上位スコープ 二階層スコープ 二階層スコープ • CValue,DValueは、最初の[二階層スコープ] で定義したので、その外では参照出来ない CValue 共通
  12. スコープ(2/2) • スコープとは、変数の有効範囲である。 • 有効範囲は、シーケンス単位などである。 • 有効範囲は階層を持ち、上位のスコープを指定すれば広い範囲で使用できる。 EXCEL Excel アプリケーションスコープ

    実行 Excel アプリケーションスコープ 実行 最上位スコープ • 変数タグから、上位スコープを指定する事で、 他のスコープでも使用可能となる CValue CValue 二階層スコープ 二階層スコープ 共通
  13. 実行ログに記録されるタイミング • ロボットが開始した時 • 「1 行を書き込み」アクティビティで指定され たメッセージ • 「メッセージをログ」アクティビティで指定さ れたレベル、メッセージ

    • 「ステータスを報告」アクティビティで指定さ れたメッセージはログには記録されませんが、 UiPath ROBOTで実行させる時の表示メッセー ジになります • ロボットが終了した時 共通 実行ログに書き込むアクティビティ
  14. 【事前準備】 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