Tag Archives: 基本

UiPathでWordファイルをPDFファイルに変換しよう

UiPathでWordファイルをPDFファイルに変換しよう ※この記事で説明するアクティビティを利用する前にWord用のパッケージをインストールしておく必要があります。 また、当然ながらMicrosoft Wordがインストールされていないと利用できません。 UiPathではWord専用アクティビティを使うことで、簡単にWordファイルをPDFへ変換することができます。 以下でそのやり方を紹介します。 1.「Word Application Scope」アクティビティを追加する 「Word Application Scope」アクティビティを選択してワークフローの中にドラッグアンドドロップします。 Wordの処理を行う際はまずこれを追加します。   2.「Word Application Scope」のDoの中に「Export to PDF」アクティビティを追加する   Export to PDFの中にはPDFに変換した際のファイル名を付けます。以上で完了です。 ※複数ファイルへの応用編はこちら。    

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で複数ファイルをドラッグ&ドロップする方法

UiPathで複数ファイルをドラッグ&ドロップする方法 UiPathのドラッグ&ドロップについてはこちらの記事でやり方を紹介しています。 このやり方、実は妙なクセがあり、複数ファイルを選択した際はうまく動作しません。 例えばRecordingで複数ファイル選択操作を記録しようとした場合、 おそらくマウスの範囲選択で複数ファイルを指定します。 その後、どれか1つのファイルをドラッグ&ドロップで目的の場所へ移動させます。 UiPathではドラッグ&ドロップをHoverアクティビティを組み合わせることで実現していますが、 このやり方では1ファイルの時しか動作できません。 ということで、今回は複数ファイルのドラッグ&ドロップのやり方を紹介します。 1.まずキーボードでCtrlキーを押し続ける 「Type Into」アクティビティを選択してワークフローの中にドラッグアンドドロップします。 Ctrlキーなので「Send Hotkey」アクティビティと考えるかもしれませんが、 こちらは押した後に離してしまいますので、ファイルの複数選択ができません。 キーの押しっぱなしをするにはType Intoアクティビティで押しっぱなしの指定をする必要があります。 ※Type Intoの上記のような設定はこちらでも紹介しています。 まずType Intoで「”[d(ctrl)]”」と入力します。 「Indicate On Screen」を選択し、どれでもよいので選択したいファイルの1つを指定してください。   2.1ファイル目のドラッグ開始する場所(始点)で左クリックを押し続ける設定をする 「Click」アクティビティを選択してワークフローの中にドラッグアンドドロップします。 ここは1ファイルの時と変わりません。 Clickアクティビティの「Indicate On Screen」を選択し、左クリックを押し続ける対象を指定し、 Clickアクティビティのプロパティウィンドウから「Input」>「ClickType」の中にあるプルダウンメニューを開き、 メニューから「CLICK_DOWN」を選択します。ここも1ファイルの時と一緒です。 3.残りの選択したいファイルすべてに対してClickを1つずつ設定していく 先ほど行った1の手順の設定を選択したいすべてのファイル(フォルダ)ごとにそれぞれ設定していってください。 要は「CLICK_DOWN」をドラッグアンドドロップしたい全ファイルに設定してあげればOKです。 4.ドロップする場所(終点)を指定する 「Hover」アクティビティを選択してワークフローの中にドラッグアンドドロップします。 ここも1ファイルの時と変わりはありません。1回のみ設定すればよいです。 「Indicate On Screen」を選択し、「マウスをドラッグして移動させたい先」を指定します。   5.ドロップする(マウスから指を離す) 1と同じように「Click」アクティビティを選択してワークフローの中にドラッグアンドドロップします。 Clickアクティビティの「Indicate On Screen」を選択し、2で選択したものと同じ対象(終点)を指定し、 Clickアクティビティのプロパティウィンドウから「Input」>「ClickType」の中にあるプルダウンメニューを開き、 メニューから「CLICK_UP」を選択します。 なお、この時はどれか1つの設定のみで大丈夫です。 6.キーボードのCtrlキーを離す 最後にもう一つType Intoアクティビティを追加します。 「Indicate… Read More »

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の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でdatatableのデータをソートしよう!

UiPathでdatatableのデータをソートしよう! この記事で紹介しているアクティビティはUiPathのバージョンが2018.2以降でないと使用できませんのでご注意ください。 UiPathのdatatableを作るのは非常に簡単ですが、その中の値を加工するのはかなり大変です。 UiPathのバージョン2018.2からはdatatableの操作ができるアクティビティがいくつか追加されました。 その中の一つが「Sort data table」です。名前の通りデータの並び順をソートすることができます。 このアクティビティはプロパティにのみ設定項目があります。 設定も簡単で、Inputに対象となるdatatableを設定し、Outputに出力先を設定(Inputと同じでもいいです) どれを基準に並び替えるかが以下項目です。 Sorting Column ・Column:datacolumn変数(DataColumn型) ・Index:列の番号(Int型) 番号は0(一番左)や1(2番目の列)などです ・Name:列の名前(String型) 普通に使うならIndexかNameが使いやすいと思います。 最後に降順・昇順で並べ替えるかを下記で指定します。 ・Order:Ascending=昇順・Decending=降順

UiPathでdatatableの重複行を削除しよう!

UiPathでdatatableの重複行を削除しよう! この記事で紹介しているアクティビティはUiPathのバージョンが2018.2以降でないと使用できませんのでご注意ください。 EXCELなどから読み込んだデータ(datatable変数)の中に重複するデータが存在する場合、 そのデータを特定し、削除するという作業をUiPathでするのは中々大変です。 しかし、UiPathのバージョン2018.2より、「Remove Duplicate Rows」アクティビティが使えるようになり、一瞬で重複削除が可能となりました。 使い方を説明します、が、このアクティビティはInputのdatatableとOutputのdatatableを指定するだけですので、特に説明する内容がありません。あえてするなら、InとOutで同じdatatableを指定することができる、というところぐらいでしょうか。 一応例としては下記のような重複データがある場合にこのアクティビティを使用すると、 地域 順位 点数 赤 6 1000 白 2 5000 黄 1 7000 黄 1 7000 下記のような結果となります。 地域 順位 点数 赤 6 1000 白 2 5000 黄 1 7000

UiPathでEXCELから読み込んだデータにフィルターをかけよう!

UiPathでEXCELから読み込んだデータにフィルターをかけよう! ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 また、「データテーブルをフィルタリング」アクティビティはUiPathのバージョンが2018.2以降でないと使用できませんのでご注意ください。 UiPathではEXCELアクティビティを使うことで、EXCELファイルから直接データを読み込むことができました。 今回は、応用として読み込んだデータ(datatable変数)をさらに加工してみましょう。 1.Excelファイルを読み込む。 前回の記事を参照して、test.xlsのファイルを読みこんでみましょう。 ※中のデータは下記のようになっています。 TEST1 TEST2 TEST3 1 あああ 1000 2 いいい 2000 4 ええええ 4000 3 うううう 3000 2.「データテーブルをフィルタリング(Filter data table)」アクティビティを追加する。 Excel アプリケーションスコープ(Excel Application Scope)の次に、「データテーブルをフィルタリング(Filter data table)」アクティビティを追加しましょう。 なお、入力(Input)と出力(Output)に同じ変数を指定した場合は、入力(Input)で指定した変数に対してフィルターがかかりますので、 今回はその方法で設定します。 3.「フィルターウィザード(Filter Wizard)」でフィルタを設定する。 「データテーブルをフィルタリング(Filter data table)」アクティビティの中にあるフィルターウィザード(Filter Wizard)ボタンを押すと、 フィルターウィザード(Filter Wizard)が開きます。タブが2つあり、それぞれ違うフィルタを掛けることができます フィルター行(Filter Rows)※データの行に対するフィルタ 設定する項目は上記を参照してください。 参考としてTEST2の列に「あああ」という文字が入っている場合の設定は下記のようになります。 +ボタンを押すとさらに条件を追加できます。 (複数条件の場合、すべて満たす場合はAND、どれか一つの場合はOrを選びます) 出力列(Output Columns) ※出力データ列に対するフィルタ フィルタをかけたデータが出力される列を指定できます。 列名もしくは、番号で指定します。番号の場合はダブルクォーテーションはいりません。 なお、今回こちらは使用しません。 4.「範囲に書き込む(Write Range)」アクティビティ等で出力して確かめる… Read More »