Tag Archives: 初心者

UiPathで文字数をカウントする方法

UiPathで文字数をカウントする方法 UiPathを使って文字数をカウントする方法を紹介します。 1.まず変数などに、カウントした文字列が入っている状態にします。もちろん、EXCELから読み込んだdatatbleを繰り返し(各行)アクティビティ(For Each Row)で処理中でも大丈夫です。例えば代入アクティビティで右の文字列(text1)をカウントした結果を左の変数(count)に入れたい場合は以下のようになります。 文字をカウントするときはLen(カウントしたい文字型の変数)というように指定します。すると、countの中に文字数が入ります。 この時の注意点としては、text1はstring型の変数、もしくはrow(“列名”).ToStringのように、string型に変換済みであること。また、左の変数はInt32などの数値が入れられる型であることです。よくわからん、という方は左側がGenericValue型でもOKです。ただし、右はString型でないとエラーになります。 ※GenericValue型は何も決めずにとりあえず下の変数タブや右クリックメニューやCtrl+Kのショートカットで変数を作れば自動で指定されます。  

UiPath初心者にお勧めの書籍紹介

UiPath初心者にお勧めの書籍を紹介 その名もズバリ「できるUiPath」です。「RPAとはなにか」系の雑誌はわりと巷に溢れてきましたが、ついにUiPath専門の書籍が発売されるようです。 もちろん当サイトを使えば無料でもいろいろと情報を集めることはできますが、初心者というのは「何がわからないのかわからない」わけなので、こういった体系的にまとめられた書籍は非常に役に立つのではないかと思います。 ちなみに「できる」系の書籍については、昔は凄まじくでかい文字に当たり前のことしか書いてないというイメージしかなかったので、UiPathなんて特定の製品で大丈夫か?と心配しましたが、例えばEXCELとの連携やメール連携、年月日系の入力方法といった、初心者が気になる部分についてもかなりページを割いていますので実用的な内容であると思います。 また、2019/2月現在、UiPathに特化した書籍はこれしか存在しませんので、とにかく情報がほしい、という方にはうってつけかなと思います。2/7発売ですので、気になる方はぜひチェックしてみてください!

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でアプリケーションを最大化・最小化する方法

UiPathでアプリケーションを最大化・最小化する方法 UiPathで自分だけが使うワークフローを作るときには、環境差異などという面倒なことを考える必要がありません。ただ、それを他の人に渡すと動いていたはずのワークフローが動かなくなってしまいます。特に色がちょっと変わるだけでも動かなくなる画像認識機能などはその例として有名ですが、意外に気をつけないといけないのがアプリケーションのウィンドウサイズです。もし仮に最大化した状態で作っていた場合、相手に渡す時に「アプリケーションを最大化しないと動かないよ」、と伝え忘れてしまうとそれだけで動かない可能性があるわけです。 いやいや、セレクターでアプリをマウスクリックしているから大丈夫なんて思っても設定次第では動かなかったりします。確認するための一番よい方法は作った後で自分でサイズを変更して実行してみることですが、今回はウィンドウサイズを変えるアクティビティで対処してみましょう。ついでに反対の最小化も紹介します。 1.ウィンドウ・ブラウザにアタッチ(Attach Window・Browser Window)アクティビティを追加する 「画面上でウィンドウを指定(Indicate On Screen)」を選択し、最大・最小化したいアプリケーションを指定してください。 2.ウィンドウ・ブラウザにアタッチ(Attach Window・Browser Window)アクティビティの中にあるDoの中へ、 ウィンドウを最大化・最小化(Maximize・Minimize Window)を追加する こちらは設定不要で放り込むだけでOKです。たったこれだけでお手軽最大化&最小化が可能です。 (おまけ) もし何らかの事情で上の手が使えない場合、もう一つの手があります。それはホットキーを押下(Send Hotkey)アクティビティでWindowsキー+カーソルの上キーを押す(最大化の時)というやり方です。このやり方でも最大化は可能ですが、注意点としてすでに最大時しているものに対して同じことをするとセレクター(Selector)が見つからずエラーになる可能性があります。うまくセレクターや判定で設定してあげてください。一方、上のアクティビティは最大化していようが最小化していようが、どの状態に何回やっても問題はありません。

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関数を利用することもできます。 今回はそういうことをせず、便利なパッケージをインストールして解決していきましょう。 まずManage Packageを開きます。 ※パッケージのインストールがよくわからない方はこの辺を参考にしてください。 左メニューからAvailable>Allと進み、検索ウィンドウで「UiPathTeam」で検索します。 するといろいろなパッケージが検索されますので、 「UiPathTeam.Calendar.Activities」を選びインストールしてください。 するとアクティビティの中にUiPathTeam >「Calendar」という項目が増えます。 こちらを開くと「Business day calculator」というアクティビティがあります。 このアクティビティを使うことで、翌営業日が簡単に取得できます。 設定はすべてプロパティで行います。 Input  ・CountryCd:国コードを指定します。 このアクティビティ、なんと日本の祝日に対応しています。 ここは”JP”と指定するだけです。指定なしだとエラーになります。 テキストエンコードは日本完全無視仕様なのになんて親切なんでしょうか。  ・Days:Startの日付から何営業日進めるかを指定します。  ・Start:インプットとなる日付変数を指定します。 datetime型の変数となるので、あらかじめ変数を作って入れておくか、 「datatime.Parse(“対象日付”)」というように記述します。 それでは日本対応していることを証明するために、5月の連休で試してみましょう。 2018/5/2をターゲットにします。この5/2は水曜日の平日ですので、ここから1日進めると、 翌日から日曜日まで休みが続くので、翌営業日は5/7(月)となります。 上記画面のように設定し、出力された変数を.tostringしてメッセージボックスに表示します。 この通り、見事に日本固有の休みでも対応できました!インストールさえすればかなり便利です。