Tag Archives: 初心者

UiPathの文字を入力(TypeInto)で覚えておきたい設定

UiPathの文字を入力(TypeInto)で覚えておきたい設定 UiPathでは文字を入力(TypeInto)アクティビティを使うことで、キーボードの入力を自動化できます。非常に単純なアクティビティではありますが、うまく設定を使いこなせないと行き詰まる場面があります。今回はその回避策を紹介していきます。 1.キー入力の間隔を調整する キー入力を自動化するとはいっても、相手のアプリケーションの面倒まではなかなか見てくれません。キーの反応にすぐ対応してくれるものであればよいですが、早すぎるとメニューが開かないものなどもあります。そうしたときは下記の「キー入力間の待機時間(DelayBetweenKeys)」プロパティで、1つ1つのキー入力の間に待機(delay)を入れることができます。 何も設定しない場合は10ミリ秒、最大で1000ミリ秒が指定可能です。   2.キーを押しっぱなしにする クリック(Click)アクティビティにはドラッグアンドドロップで説明したようなマウスのボタンを押し込む、離すという設定がありました。文字を入力(TypeInto)にも全く同じ設定が可能です。これを覚えておかないと例えばCtrlキーを押しながらほかのキーをいろいろ押すという操作ができません。 ここではプロパティではなく、押したいキーの記法を覚えます。 ・k[押したいキー名] まず、横の+ボタンを押してキーを設定したときにデフォルトで設定されるものがこちらです。kは正直何の略かよくわかりません(クリックっぽいですがcではないので)これはキーを押して離すという、人間が普通にキーを押したときの処理になります。 ・d[押したいキー名] キーを押しっぱなしにする指定方法です。 ・u[押したいキー名] キーを離すときの指定方法です。 dの後には同じボタンのuが来るように記載します。※そうしないと動作終了後もずっと押したままになってしまいますので注意してください。もしそれで起動してしまっても、人間が同じキーを押せば挙動は戻ります。 3.特殊な文字で問題が出る場合 半角文字等の特殊な文字を入力させたい場合にうまく入力されない場合、下記のプロパティで入力をシミュレート(SimulateType)をオンにしてみてください。入力させる方法をUiPath上で変更することができます。 文字によっては標準の方法でうまく入力できない場合があります。これらオプションの詳しい違いについては、UiPath本家のチュートリアルムービーでも解説されていますので気になる方はそちらもご確認ください。   (おまけ)どうしても駄目なとき 入力させたい文字がどうしても入らない場合は、文字を入力(TypeInto)ではないもう一つの手段があります。それは人間のコピー&ペーストと同じ動作です。クリップボードに設定(Set To Clipboard)を使って、クリップボードにいったん入力させたい文字をセットします。次に、ホットキーを押下(Send Hotkey)アクティビティを使ってCtrl+Vを押させることで、目的の入力欄へペーストします。これにより一気に文字列が入力されるので、1文字ずつの入力間隔等で問題が発生している場合は解決が可能です。

UiPathでEXCELシート名を変えよう

UiPathでEXCELシート名を変えよう UiPathではExcelアクティビティを使うことで、エクセルファイルから読み込んだデータの内容を処理することができました。しかし、データを読むだけが人間のする作業ではありませんので、実際にはEXCEL内での操作も自動化したいとなります。例えばよくあるものの一つとして、「Excelのシート名を変える」という作業があります。 人間がやると非常に簡単なのですが、残念なことにUiPathでは、EXCELを開き、EXCELそのものに対して何かをする、というのを補助するようなアクティビティはあまりありません。 では、無理かというとそうではありません。RPAは基本、人間がやっていることと同じことはできますので、同じ操作を作ってあげればよいです。やり方に正解はありませんが、いくつか例を紹介していきます。 1.シート名の部分をマウスでダブルクリック>変更する方法 おそらく人間と同じやり方、といわれて最初に思いつくのはこのやり方ではないでしょうか。ダブルクリック(Double Click)アクティビティを選択し、変えたいExcelのシート名部分をクリックします。 ダブルクリック(Double Click)アクティビティはクリックアクティビティと名前こそ違いますが、中身はプロパティの「クリックの種類」が最初からダブルクリックに指定されたただのクリックアクティビティです。次に文字を入力(Type Into)アクティビティを追加し、画面上で指定(Indicate on screen)を選び先ほどのシート名の部分を選択します。文字を入力(Type Into)で入力させるテキストに、変えたいシート名を入力させます。 ここで注意点として、セレクター(Selector)の指定方法があります。 上記の「画面上で指定」を使って指定したままでは開いたときのファイル名情報やシート名情報が埋め込まれていますので、それらを「*」アスタリスクに変えてあげる必要があります。クリック(Click)や文字を入力(Type Into)アクティビティのメニューボタンをクリックし、「セレクターを編集(Edit Selector)」を選択します。 中に固有の名称が含まれていたらそれらを「*」アスタリスクに変更して下さい。※画面はExcel2010のものです。Excel2016の場合はこれと異なります。   2.キーボードショートカットで「シート名の変更」をする 先ほどはクリック操作を使うことで、シート名変更モードにしていましたが、こちらはキーボード操作のみでする方法です。 まず文字を入力(Type Into)アクティビティを追加します。次に画面上で指定(Indicate on screen)で名前を変更したいシート全体を選択し、入力させる文字として「[k(alt)]hor」と入力します。これはAltキーを押しながらH,O,Rの順にキーを押しています。早すぎると動かない場合はプロパティのオプション(Options)にある、キー入力間の待機時間(DelayBetweenKeys)を500~1000位で入れてもいいかもしれません。 すぐ下にもうひとつ文字を入力(TypeInto)アクティビティを入れ、変えたい名前とEnterキーを入力させれば完了です。※慣れている方であれば、1つのTypeIntoアクティビティにすべて書いても構いません。 こちらもセレクター(Selector)には気をつけてください。 3.VBAを呼び出す 上とは全く違うやり方で、VBAの機能を使ってシート名を変更させます。VBAの起動にはExcelアプリケーションスコープ(ExcelApplicationScope)やEXCELの設定でマクロが起動できるという前準備が必要です。VBA自体の方法はいくらでもネットで見つかりますので、ここでは割愛します。UiPathでのVBA起動の方法についてはこちらの記事を参考にしてみて下さい。  

UiPath超初心者向け記事まとめ

UiPath超初心者向け記事まとめ ※順次追加していきます 最初に何をしたらいいか1 最初に何をしたらいいか2 BasicRecordingを使ってみよう! キーボード入力を自動でさせよう! 画像認識でクリックしよう! UiPathで簡単に座標指定クリックさせるには? 条件で処理を分岐させる

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で翌営業日を取得する方法

UiPathで翌営業日を取得する方法 UiPathでは.netのメソッド等を使用することができますが、 翌営業日は.netでどうやって取ればいいのでしょうか? ましてや日本の祝日を考慮することなんてできるんでしょうか? 残念ながらそう言った便利なものはありません。 しかし、UiPathにはいろいろとほかの解決策が存在します。 例えばEXCELはワークシートで関数を使うことができるのですが、 その中にWORKDAY関数というものがあります。 これを使うことで自分で祝日マスタを作っておく必要はありますが、 日本の祝日(今後変わっても対応可能)に対応させることができます。 =WORKDAY(対象日付, 何日進めるかを指定, 祝日マスタの場所) こんな感じで指定します。 ただし、これはEXCELの話で、この関数は.netには存在しないためUiPathでは使うこともできません。 それではUiPathでEXCELの関数を使うことはできないのでしょうか? 例えばこちらの手順でUiPathからVBAを起動することが可能です。 このやり方を応用し、VBAでワークシート関数を呼び出す「WorksheetFunction」プロパティを使って、 このWORKDAY関数を利用することもできます。 今回はそういうことをせず、便利なパッケージをインストールして解決していきましょう。 まず「パッケージを管理」を開きます。 ※パッケージのインストールがよくわからない方はこの辺を参考にしてください。 左メニューからAvailable>Allと進み、検索ウィンドウで「UiPathTeam」で検索します。 するといろいろなパッケージが検索されますので、 「UiPathTeam.NextWorkingDay.Activities.Design」を選びインストールしてください。 するとアクティビティの中にUiPathTeam >「Calendar」という項目が増えます。 こちらを開くと「Get Next Working Day」と「Get Previous Working Day」というアクティビティがあります。 このアクティビティを使うことで、翌営業日と前営業日が簡単に取得できます。 設定はすべてプロパティで行います。 Input  ・Country Code:国コードを指定します。 datetime型の変数となるので、あらかじめ変数を作って入れておくか、「datetime.Parse(“対象日付”)」というように記述します。  ・Reference Date:インプットとなる日付変数を指定します。デフォルトは当日です。 このアクティビティ、なんと日本の祝日に対応しています。ここは”JP”と指定するだけです。指定なしだとエラーになります。テキストエンコードは日本完全無視仕様なのになんて親切なんでしょうか。  ・Next Working Day:次の営業日がdatetime型で出力されます それでは日本対応していることを証明するために、5月の連休で試してみましょう。 2018/5/2をターゲットにします。この5/2は水曜日の平日ですので、ここから1日進めると、 翌日から日曜日まで休みが続くので、翌営業日は5/7(月)となります。 上記画面のように設定し、出力された変数を.ToString(“yyyy/MM/dd”)してメッセージボックスに表示します。 この通り、見事に日本固有の休みでも対応できました!インストールさえすればかなり便利です。

(UiPath超初心者向け)UiPathで簡単に座標指定クリックさせるには?

(UiPath超初心者向け)UiPathで簡単に座標指定クリックさせるには? ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 UiPathにはセレクターという機能があり、セレクターを指定すれば、 特定のオブジェクトに対してだけクリックをさせることができます。 セレクターがうまく取得できない場合は以下のような方法をとる必要があります。 ・画像認識 ・OCR ・座標指定 このうち上2つはデスクトップの画像をもとに動作をしますが、 最後の座標指定はセレクタと組み合わせることも可能です。 部分的にしかセレクタが取れなかったとしても座標指定は画像認識と違って、 上にほかのオブジェクトが重さなったとしても動作ができますので、 使いこなせるようになると自動化の幅が広がります。 それでは使い方を覚えましょう。操作するアプリはWindows7標準の電卓にします。 1.クリック(Click)アクティビティをワークフローに追加します。 2.画面上で指定(Indicate on screen)を押して、電卓の8をクリックします この方法はセレクタで記録する方法です。まだ座標指定ではありません。 ここでまず、セレクタが取れる場合はどこに設定されているかを確認しましょう。 3.クリック(Click)アクティビティのプロパティでターゲット(Target)の横の+を押して、 その中からセレクター(Selector)横の…ボタンを押して内容を確認します うまくセレクタが取れるタイプのアプリケーション等はこのようにセレクタが設定されます。ここで右端の…ボタンを押すと別ウィンドウが開き詳細が確認できます。 画像の4番目のチェックボックスを見ると、電卓の8ボタンのctrlidという値が138という数値であることがわかります。 これが「セレクタを指定する」という方法です。 それでは次はいよいよ座標指定の方法です。 4.クリック(Click)アクティビティのプロパティからオプション(Options)の横の+を押して、 カーソル位置(CursorPosition)の値を確認します 画像のようにXのオフセット(OffsetX)とYのオフセット(OffsetY)、位置(Position)というボックスがあります。 位置(Position)で指定した場所(たとえばCenter=セレクタで指定したオブジェクトの中央)から、 オフセット(Offset)の分だけXが横、Yが縦にいくつずれるかを指定できます。 これで任意の場所にあるオブジェクト(ボタン等)の座標がわかれば指定して押させることができます。 ・・・いやいやそんなめんどくさいことやってられないですけど そう思った方、まったくその通りだと思います。 非人間的な繰り返し作業をしないために、面倒なXYの引き算なんてしたくありません。 というわけで、もう一つの設定方法をご紹介します。 1.クリック(Click)アクティビティで画面上のIndicate on screenを押します。 2.クリックしたいオブジェクトを選択するモードになったら、F3を押します。 3.クリックしたい場所をクリックします 以上、これだけで座標指定が可能です。一体、オフセットとはなんだったのでしょうか。 ※F3キーは本当は範囲指定機能ですが、クリックだけすると1点だけが指定され、結果的に座標指定となります。 実は画面の左上に出て来る拡大鏡にも使い方のヘルプは書かれています。 こちらで設定した場合はオフセット(Offeset)ではなく、 ターゲット(Target)のクリッピング領域(ClippingRegion)というプロパティに値が設定されます。 <おまけ>F3で電卓の8キーを指定したときのセレクター(Selector)はこんな感じになります。 さっきの8ボタンのセレクタ(183)が取得できていないことが確認できますね。 また、この状態で電卓を非表示状態にして実行しても、 正しくボタンを押してくれますので、試してみてください。 ここが画像認識と違う強みですね。 ただしアプリケーションの形そのものが変わって、8のボタンの場所がずれるとダメです。 一方でセレクターでctrlid183を指定する方法だと、 その183が変わらない限りどこにボタンが移動しても押してくれます。 つまり、レイアウト変更などのアプリ改修があってもそのまま動いてしまう可能性が高いというわけです。… Read More »

UiPathでPDFデータを読み込もう!

UiPathでPDFデータを読み込もう! ※この記事で説明するアクティビティを利用する前にPDF用のパッケージをインストールしておく必要があります。 また、当然ながらAdobe社のAcrobat等がインストールされていないと利用できません。 UiPathではPDF用のアクティビティを使うことで、PDFのテキストファイルを取りこむことができます。 なお、PDFのテキストファイルは最初からファイルに埋め込まれているもの(範囲指定できるタイプのもの)となります。 一応OCRもできますが、こちらについては別途紹介します。 1.Read PDF textアクティビティを追加する 後は中央のボックスにPDFファイルの場所を指定するだけです。 なんとこれだけで、Outputに指定した変数へテキストデータが格納されます。 もしPDFからテキストをコピペしてEXCELに張り付けるような作業をしている方がいらっしゃるならぜひお試しください。 なお、デフォルトではInputプロパティが”All”になっていますので、全ページの情報を抜きだしてきます。 ページ指定等は印刷と同じようにInputプロパティで例えば3ページなら”3″、1~5ページなら”1-5″と指定することで、 そのページのテキストを抜きだしてきます。本来印刷で2と5ページなら”2,5″なのですが、これはエラーとなるようです。 (おまけ)もしファイルにパスワードがかかっている場合はプロパティのPasswordで指定することができます。  

UiPathでクリップボードのデータを読みこもう!

UiPathでクリップボードのデータを読みこもう! UiPathのアクティビティにはWindowsのクリップボード(Ctrl+Cやマウスの右クリックメニューで文字等をコピーしたとき) 操作を行うアクティビティがあります。今回はその方法を解説していきます。 1.アクティビティ検索ウィンドウで「get from clipboard」を検索します。 見つかったら中央のワークフローに追加してください。 2.追加できたらプロパティウィンドウにOutputがありますので、 クリップボードから手に入れたデータを入れるための変数を作成しましょう。 ほかは特に触らなくてOKです。 3.次にこのアクティビティで取ってきたクリップボードの値を表示させるため、 すぐ下に「message box」アクティビティを追加します。 4.最後にmessage boxのInputへ、先ほどGet from ClipboardアクティビティのOutputプロパティで作成した変数の名前を設定すれば準備完了です。 (画像は例としてtestという変数に入れています) 5.実行する前に適当なWebページ等から文章をコピーしましょう。 コピーしたらその状態で、UiPathのワークフローを実行します。 すると、ダイアログボックスに今コピーした文字が表示されると思います。 このようにクリップボードの値をUiPathの中へ取り込むことが可能です。

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)プロパティはこのように指定します。 無事うまく読めました。なんかこのアクティビティ文字化けするんだけど、 って困っている方がいたらこちらをお試しください。