Tag Archives: ファイル読み込み

UiPathでユーザーに任意のフォルダ・ファイルを選択させる方法

UiPathでユーザーに任意のフォルダ・ファイルを選択させる方法 ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 UiPathを使ってユーザーに処理対象となるフォルダやファイルを選択させたい、 ということはよくあると思います。今回はそんなときに便利なアクティビティを紹介していきます。 ・ユーザーにフォルダを選択させたい時に使うアクティビティ そのまんまですが「フォルダーを選択」(Select Folder)アクティビティを使用します。 このアクティビティを使うと、ダイアログが表示され(Windows標準のエクスプローラのような形です)ユーザーにここでフォルダを任意に選択させることができます。 ユーザーが選んだフォルダのパスはプロパティの出力にある「選択されたフォルダー」で指定した変数に文字列として格納されます。 ・ユーザーにファイルを選択させたい時に使うアクティビティ こちらもそのまんまですが「ファイルを選択」(Select File)アクティビティを使用します。 このアクティビティを使うと、ダイアログが表示され(こちらもWindows標準のエクスプローラのような形です)ユーザーにここでファイルを任意に選択させることができます。 ユーザーが選んだファイルのパスはプロパティの出力にある「選択されたファイル」で指定した変数に文字列として格納されます。なお、特定のファイルだけ(例えば.xlsxや.pdf)を表示させたい場合は入力プロパティの「フィルター」に書かれている、(*.*)|*.*を(*.xlsx)|*.xlsxというように書き換えることで、エクスプローラに表示されるファイルの種類を限定できます。 なお、複数フィルタを掛けたい場合はカンマで区切ってください。例えばExcel関連なら(*.xls,*.xlsx,*.xlsm)|*.xls,*.xlsx,*.xlsmとなります。ちなみにこの情報は上の設定をエラーにしたときに出るんですけど、エラーじゃなくてわかる場所に書いて欲しいんですよね。 そういうとこだよ、UiPath。 (注意点) フォルダ・ファイルに共通して注意点があります。ユーザーは必ずしも思ったとおりに操作してくれるとは限りませんので、例えば「ダイアログを閉じる」なんてことは当たり前のように起こります。 選択せずにダイアログを閉じてしまうと「フォルダ・ファイルが選択されなかったエラー」が発生しますので、エラーハンドリングをしないとシナリオはそこで止まってしまいます。 また、ファイルの場合は間違った種類が選択されないようフィルタをかけたり、後でシナリオ内でのチェックを行うなどしてください。  

UiPathでパスワード付きのExcelを開く方法

UiPathでパスワード付きのExcelを開く方法 ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 EXCELで業務を自動化する際に引っかかりやすい点としてEXCEL自体にパスワードがかかっているパターンがあります。 UiPathではこういったパスワード付きのファイルについてもあらかじめパスワードを設定しておくことで、 開くことが可能です。以下で、パスワード付ファイルの設定方法を紹介していきます。 1.読み取り専用パスワードの場合 はじめにExcelファイルを指定するため、Excelアプリケーションスコープ(Excel Application Scope)アクティビティを追加します。 ここで、プロパティの下画像「パスワード(Password)」部分にEXCELに設定している「読み取り専用パスワード」を入力すると、読み取り用パスワード入力をせずそのまま開くことができます。 2.書き込みパスワードの場合 上記と同様、Excelファイルを指定するため、Excelアプリケーションスコープ(Excel Application Scope)アクティビティを追加します。 ここで、プロパティの下画像「編集用パスワード(EditPassword)」部分にEXCELに設定している「書き込みパスワード」を入力すると、書き込みパスワード入力をせずそのまま開くことができます。

UiPathで複数ファイルに同じ処理をする方法

UiPathで複数ファイルに同じ処理をする方法 UiPathではいろいろな作業を自動化することができます。作業には1回限りのものや、 ファイルを変えて同じことをするといった繰り返し作業などいろいろなパターンがあります。 今回は上記のファイルを変えて同じことをする=複数ファイルへの同じ処理をさせる方法を紹介します。 1.1フォルダにファイルを作業対象のファイルを集める まず作業をさせたいファイルを1フォルダの中にすべて格納しましょう ※例としてc:\testにtest1~3というEXCELファイルを入れています。 2.For Each アクティビティを追加する For Eachアクティビティは繰り返し処理を行うためのアクティビティです。 このアクティビティは繰り返す回数をファイルの数、とすることができますので、 何回実行するかはファイルの数で自動的に変更することができます。 3.For Eachの対象として「Directory.GetFiles」メソッドを使う .netのメソッドにはDirectory.GetFilesという、「フォルダの中のファイルすべて」を指定することのできるメソッドがあります。 UiPathはこうした.netのメソッドをそのまま利用することができますので、こちらをFor Eachの繰り返し条件として設定します。 具体的には以下のような使い方になります。 Directory.GetFiles(”フォルダの場所”) 括弧の中のフォルダの場所は文字列(String)でないといけませんので、 あらかじめ文字列を入れたString型の変数を指定するか、 “ ”でWindowsのフォルダパス(c:\test等)を記述します。 記述する場所はitem inの後にある入力欄の中になります。 ※例ではDirectory.GetFiles(“C:\test”)と記載しています 4.Bodyに繰り返しさせたい処理を記載する あとはFor Eachの中にあるBodyの中に、繰り返しさせたい処理を作りこんでいくだけです。 上記例ではitemという変数の中にフォルダの中にあるファイルのObject情報が1つずつ入っていくので、 それをメッセージボックスで表示させています。 ※Object情報以外の型にしないといけない場合もあるので、 その際はプロパティのTypeArgument部分をString等、ほかの変数の型に変更させて使います。 実行すると、上記のように1ファイルごとのパスが表示できました。

UiPathのEXCELファイル読み込み、どのアクティビティを使えばいい?

UiPathのEXCELファイル読み込み、どのアクティビティを使えばいい? これまで以下2つの記事の通り、EXCELファイルを読み込むための2つのアクティビティを紹介してきました。 範囲を読み込み(Read Range)を使う方法(ファイル全体を読みこむ) セルを読み込み(Read Cell)を使う方法(ファイルの一部を読みこむ) アクティビティの使い方を覚えるのも重要ですが、これらをどのようなときに使うべきかも重要です。 いくつかのケースを参考にしながらどちらを使うのが適切か考えてみましょう。 1.Excel型のデータテーブル TEST1 TEST2 TEST3 1 あああ 1000 2 いいい 2000 4 ええええ 4000 3 うううう 3000 上の通り、1行目に列名、2行目以降にそのデータが入っているパターンです。 これは「範囲を読み込み(Read Range)」で読み込んで、繰り返し (各行)(For Each Row)で繰り返し処理をするのが適切なことが多いかと思います。 仮に取る場所が確定している(たとえば2列目の3行目等)としても、こういった形の場合、 何行目に何が入るかというところまでちゃんと把握できていない限りは危ないでしょう。 そう言った可能性がある場合は読み込んだdatatable変数に対して、 繰り返し (各行)(For Each Row)で条件分岐をしたり、データテーブルをフィルタリング(filter data table)を使うことをお勧めします。 2.Excel型の書類 いわゆるEXCEL様式という書類のような用途で使用するEXCELファイルになります。 人間の見た目では自然なのですが、実際の中身はセル結合、空白行、空白列などがぐちゃぐちゃで、 データとしては非常に扱いずらいです。 ただし、様式として項目そのものの場所が変わることは少ないという特徴もありますので、 こういった場合はセルを読み込み(Read Cell)でセルごとに取得する方がよいでしょう。 というかそのままでは範囲を読み込み(Read Range)ではまともに取得できないと思われます。 項目が多すぎるなどで、変数をいちいち作るのがめんどくさくて範囲を読み込み(Read Range)しか使いたくないという場合は、 もう1つシートを作り、EXCELの数式でデータテーブルにすることで1行だけのテーブルとすれば、 範囲を読み込み(Read Range)でも扱うことは可能です。項目の位置が頻繁に動く場合もこういった対処が有効です。

UiPathでWord文書の文字列を置換しよう

UiPathでWord文書の文字列を置換しよう ※この記事で説明するアクティビティを利用する前にWord用のパッケージをインストールしておく必要があります。 また、当然ながらMicrosoft Wordがインストールされていないと利用できません。 UiPathではWordアクティビティを使うことで、Wordファイルから読み込んだデータの内容に検索をかけ、 ヒットした文字列を置換することができます。その簡単な使い方を覚えましょう。 1.Word アプリケーションスコープ(Word Application Scope)アクティビティを追加する。 まずWord系操作をする場合はこのアクティビティをセットし、対象となるWordファイルを決定します。 今回はなにか適当な文章が入っているファイルを選びましょう。 例としてtest.docxに以下のような文章が入っている前提で進めていきます。 これはテストです 2行目の文章 3行目の文章 2.Replace Textアクティビティを追加する。 次にWordアプリケーションスコープ(Word Application Scope)内のDoシーケンス内にテキストを置換(Replace Text)アクティビティを追加します。 左側に検索したい文字列、右側に検索した文字列を置換したい文字列にします。 例では「2行目の文章」を「4行目の文章」というように設定しています。 なお、出力(Output)プロパティの結果(Found)には検索した結果があったかどうか(Boolean型でTrue、False)が入りますが、 必須で指定する必要はありません。  

UiPathでEXCELのデータの一部(セル)を読みこもう!

UiPathでEXCELのデータの一部(セル)を読みこもう! ※2018.2以前のバージョンではこの記事で説明するアクティビティを利用する前にExcel用のパッケージをインストールしておく必要があります。 また、当然ながらMicrosoft Excelがインストールされていないと利用できません。 アクティビティのシステム>ファイル>ワークブック内にあるアクティビティは、 EXCELファイルのパスを指定することでEXCEL無しでも動作できるようです。 UiPathではEXCELアクティビティを使うことで、EXCELファイルから直接データを読み込むことができます。 その簡単な使い方を覚えましょう。 今回はEXCELファイルのシートの一部、つまり指定したセルからデータを読み込む方法になります。 Read Rangeとの使い分けですが、こちらを使う場合はデータがテーブルになっていない場合、 例えば申込書のEXCELなどは、人間が見るとわかりやすい紙の書類のような形式になっていることが多く、 1行ごとに書く欄があるとは限りません。そういった場合にはこの機能で読み取った方がよいでしょう。 1.Excel Application Scopeアクティビティを追加する。 まずEXCEL系操作をする場合はこのアクティビティをセットし、対象となるEXCELファイルを決定します。 今回はなにか適当なデータが入っているファイルを選びましょう。 2.Doスコープの中に「Read Cell」を追加する。 上記を参考に読み込みたいEXCELファイルやシート名、セルの位置を指定してください。 3.プロパティのOutputにある「Result」で読み込んだデータを格納する変数を指定する。 Result欄を選択後、Ctrl+Kで新規作成すれば名前を決めるだけで変数は勝手に作ってくれます。 これで格納したいセルの数値がこの変数へ入ります。  

UiPathでテキスト(txt)ファイルを読みこもう!

UiPathでテキスト(txt)ファイルを読みこもう! ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 UiPathではテキストファイルを読みこみ、文字型の変数に格納することができます。 使い方は非常に単純で、「テキストファイルを読み込む(Read text file)」アクティビティを使ってテキストファイルと出力先の変数を指定するだけです。 早速メモ帳でテキストファイルを作ってUiPathで読み込ませ、メッセージボックスに表示させましょう。 そう、指定するだけのはずなんですが… 文字化けしています。 これは読み込ませたテキストファイルのエンコードが原因です。 エンコードはプロパティのエンコーディング(Encoding)で指定するのですが、 公式のアクティビティガイドにはよくわからない説明と、 ここが指定されていないと自動でデフォルトエンコードを判別するっぽいことが書かれています。 ま、どうせ英語の世界のお話でしょうね。 日本語のWindowsでメモ帳開いて適当なことを書いて保存したら画像のようにデフォルトがANSIになっていると思います。 ANSIは「Shift_JIS」エンコードのことです。 というわけで、エンコーディング(Encoding)プロパティはこのように指定します。 無事うまく読めました。なんかこのアクティビティ文字化けするんだけど、 って困っている方がいたらこちらをお試しください。

UiPathでファイルを読み込ませる系操作まとめ

UiPathでファイルを読み込ませる系操作の記事まとめ ※順次追加していきます UiPathで複数ファイルに同じ処理をする方法 UiPathでEXCELのデータを読みこもう! UiPathでEXCELのデータの一部(セル)を読みこもう! UiPathでWordファイルを読みこもう! UiPathでPDFデータを読み込もう! UiPathでテキストファイルを読み込もう! UiPathでCSVファイルを読み込もう!  

UiPathでWordのデータを読みこもう!

UiPathでWordのデータを読みこもう! ※この記事で説明するアクティビティを利用する前にWord用のパッケージをインストールしておく必要があります。 また、当然ながらMicrosoft Wordがインストールされていないと利用できません。 UiPathではWordアクティビティを使うことで、Wordファイルから直接データを読み込むことができます。 その簡単な使い方を覚えましょう。 1.Word Application Scopeアクティビティを追加する。 まずWord系操作をする場合はこのアクティビティをセットし、対象となるWordファイルを決定します。 今回はなにか適当な文章が入っているファイルを選びましょう。 例としてtest.docxに以下のような文章が入っている前提で進めていきます。 これはテストです 2行目の文章 3行目の文章 2.Read Textアクティビティを追加する。 次にWord Application Scope内のDoシーケンス内にRead Textアクティビティを追加します。 このアクティビティに難しい設定は必要なく、 単純にプロパティで読み込んだテキストデータを格納する変数を指定するだけです。

UiPathでCSVファイルを読みこもう!

UiPathでCSVファイルを読みこもう! UiPathではCSVのファイルも読み込ませてdatatableを作ることができます。 基本的な流れはテキストファイル読み込みと変わりませんが、 こちらは多くのデータをdatatableへ取り込む形がメインと思われます。 アクティビティもシンプルで、ファイルの場所だけ指定します。 プロパティは若干設定する項目が増えていますが、 大したことはありません。 主に変更する必要があるとしたら、Optionsの下記になります。 Delimiter: 区切り文字を指定します。デフォルトはカンマ「,」です。セミコロン区切り、タブ区切りなど、 ファイルに合わせて切り替えてください。Caretは「^」Pipeは「|」です。 Include Column Name: 一行目のデータを列名とする場合はチェックを入れます。 入れないと列名はColumn1みたいなデフォルト名になりますが、1行目からデータとして取り扱います Encoding: テキスト読み込みの時もありましたが、ここを設定しないとやっぱり文字が化けることがあります。 日本で手に入るファイルはShift_JISが多いと思うので、ここは気を付けましょう。 文字が化けたらとりあえずここに「”Shift_JIS”」と入れてから考えましょう。