2019年秋にUiPath StudioXがリリースされました。従来のStudioとどこが違うのか比較してみました。 比較項目 StudioX Studio ユーザー ビジネスユーザー 開発ユーザー コーディングの知識 必要なし 基本的な知識が必要 オートメーション 比較的簡単なオートメーションが作成可能 複雑なオートメーションが作成可能 使用可能なワークフロー シーケンス シーケンス、フローチャート、ステートマシン プロジェクトサイズ プロジェクト毎に1つのファイルのみ使用可能 プロジェクト毎に複数のファイルが使用可能 ファイル互換性 StudioXのみ Studio及びStudioX UiPath StudioXは、ビジネスユーザー向けの開発ツールで、プログラミング知識がないユーザーでもオートメーションの作成ができるのが特徴です。 一般業務でよく使われるマイクロソフトオフィスのエクセル、ワード、パワーポイント、アウトルック、またはGmail等をロボットが操作できるようにあらかじめ定義された機能が豊富に組み込まれており、直感的な操作が可能になりました。 あらかじめ定義されている各アプリケーションをカードと言い、アプリケーションにアクションを設定させたい場合、まずカードをデザインパネルに呼び出します。 またUiPath Studioでは多くのアクティビティで変数の定義が必要でしたが、StudioXでは一切必要ありません。またエクセルのファイルを読み込むと、シート名、コラムの見出しなどが自動的にシーケンスの中に表示されるので、とても便利です。 次回はStudioXを使った実例を解説します。
Category: 豆知識
エクセルファイルがバックグラウンドで開いたままの状態になる
アプリケーションスコープでエクセルファイルをバックグラウンドで開いた場合、時々ファイルが開いたままの状態になる時があります。バックグラウンドでアプリケーションも動いているので、気づかずファイルを普通に開くと、”ファイルは既に開かれています”、というメッセージが出ます。 動作するアクティビティの数が多いと、エクセルファイルが閉じられない場合があり、次のアクティビティに進まず、ワークフローが停止したままになってしまうケースもあります。この場合の解決方法としては、 アクティビティのブックを閉じるでエクセルファイルを閉じる。 ウインドウズコマンドか、PowerShellでアプリケーションを閉じる。 です。 アクティビティのブックを閉じるを使用する際には、Excelアプリケーションスコープの出力にWorkbookApplicationの型の変数を設定します。 その後、ブックを閉じるのアクティビティに先ほどの変数を記入します。 PowerShellでアプリケーションを閉じる方法は、ウインドウズのOSに組み込まれているPowerShellのスクリプトでエクセルを閉じます。スクリプトは、 stop-process -Name Excel です。これをテキストファイルとして(あるいは拡張子.ps1で)保存します。これで、スクリプトが複数行に渡る場合でも問題なく追記できますね。 上記で作成したファイルを、アクティビティのテキストファイルから読み込みを追加して、スクリプトのパスを指定して読み込み、更にプロパティの出力にStringの型の変数を設定します。 その下に、アクティビティのPowerShellを呼び出しを追加し、上記で設定した変数名を入力します。 UiPathのフォーラムで、この問題に関する書き込みがされていました。 https://forum.uipath.com/t/excel/153344
レコーディングの種類
UiPathのレコーディング機能にはいくつか種類があります。 ベーシック … レコーディングの時に、アクティビティ毎に完全セレクターを作成します。コンテナーは作成されません。 デスクトップ … レコーディングの時にコンテナーを作成し、アクティビティ毎に部分セレクターを作成します。 Web … ブラウザー上でのウェブサイトの操作のレコーディングに使用します。 画像 … 仮想環境(VNC、仮想マシン、Citrix など)での画面操作のレコーディングに使用します。例えばデスクトップ上で、VNC等のリモートアクセスソフトでサーバー等のデスクトップにアクセスし、操作を行う場合等に適しています。 ネイティブ Citrix … Citrix環境専用のデスクトップレコーダーです。 Computer Vision … AI Computer Visionパックを使って画像から文字を認識したり、マウスクリックなどの操作を行います。画像の解析により、仮想環境でもUI要素の認識が可能になります。 ベーシックとデスクトップの違い 上記の説明を読んでもあまりピンと来ないと思いますので、説明します。 レコーディングの時に、各アクティビティ毎にセレクターが作成されます。セレクターとは、マウスクリック、文字入力などの時に、どのアプリケーションのどのウインドウのどの部分に対して操作を行うかを定義するものです。 例えば、エクセル操作のレコーディング時には、ベーシックだと以下のようなセレクターがアクティビティ毎に作成されます。 一方デスクトップでのレコーディング時には、以下のようなセレクターが作成されます。 見た目は一緒に見えますが、デスクトップの方がclsとtitleのセレクターのみが作成されます。その上のセレクターはグレーになっていますが、これらはシーケンスの最初に一度だけ作成されます(下図のウインドウにアタッチというアクティビティ)。 レコーディング後のシーケンスもベーシックとデスクトップでは違いがあります。 以上がベーシックとデスクトップのレコーディングの違いですが、デスクトップレコーディングの方が、セレクターが少ない分情報量が多い処理をする場合は幾分速いようです。
値を代入するアクティビティ
UiPathのアクティビティで、代入(Assign)という値を代入するだけのアクティビティがあります。使用例としては、繰り返し (後判定) (Do While)とはの中のシーケンスで果物を数えるnumという変数に1を足した値を代入しています。 当然ながら演算子、つまり足すだけではなく、引き算や掛け算他も可能です。 繰り返し (後判定) (Do While)とは 参考にしたサイトのリンクhttps://docs.uipath.com/studio/lang-ja/docs/the-assign-activity#
変数のスコープとは
変数のプロパティには変数名、変数の型、スコープと規定値というのがあり、その中のスコープの説明をしていきます。 スコープとは、変数の使用可能範囲のことです。 例えば、未読メールの確認の章で使った変数messageCountを見てみると、設定されているスコープはシーケンス、本体、フローチャート3と選択ができます。ここで、スコープをシーケンスと選択すると、この名前のシーケンス内でのみこの変数が使用できます。他の階層ではこの変数を見つけることが出来ません。 一方スコープを本体と選択すると、本体のシーケンス内での使用ができます。この場合、その下の階層にあるシーケンスでの使用も可能になります。 フローチャート3をスコープで選択すると、このフローチャートに含まれているすべてのシーケンスでこの変数が使用できるようになります。 もし変数をすべての場所で使いたいのであれば、スコープを一番元の階層(この例ではフローチャート3)に設定する必要があります。 参考にしたサイトのリンクhttps://docs.uipath.com/studio/lang-ja/v2016.2/docs/the-variables-panel
プライベート(Private)とは
皆さんの中で、アクティビティのプロパティでプライベート(Private)というのを目にして、これは何だろう?と思った方もいると思います。 これは、ワークフローの実行中に記録された変数等の値をログファイル(Verboseレベルの場合)に出力しないようにします。 例えば、ロボットがソフトウェアやウェブサイトにログインをする時に使うパスワードを、UiPathのログファイルに非表示にすることによって、機密情報を保護することが出来ます。 上記にあるログファイルのVerboseレベルですが、UiPathには、ログファイルにいくつかのレベルがあります。例えば、危機的(Critical)な情報のみログに残す、警告(Warning)かそれ以上のレベルのみログに残すなどです。詳しくは以下のサイトをご覧ください。 https://docs.uipath.com/orchestrator/docs/logging-levels 参考にしたサイトのリンクhttps://docs.uipath.com/orchestrator/lang-ja/docs/protecting-sensitive-information-in-studio
変数とは
変数とは、値を代入できる文字や数字のことを言います。 例えば数学で x とか y に数字を代入する方程式を習ったことがあると思います。代入する数字によって結果も変わってきますね。 もっと簡単に言ってしまえば、物を運ぶときに入れる箱のようなものです。 UiPathで使う変数は、数字だけではなく、文字列など様々な値を出し入れすることができ、なおかつその入れ物も何を入れるかによって変わってきます。つまりみかんはみかん箱、ビール瓶はビールケースに入れるという感じでしょうか。 ここで、UiPathで使う変数の種類の例を挙げておきます。変数を作成する時に、変数の種類をあらかじめ決めておかなければなりません。 整数を入れる変数の型 … Int32文字列を入れる変数の型※ … StringTrue、False(はい、いいえ)を出力する変数の型 … Boolean数値、日付、等様々な種類の値を入れられる変数の型 … GenericValue ほかにもっと沢山の変数がありますが、これらが最もよく使う変数だと思います。 変数の型であるGenericValueは、UiPath Studio独自の変数の型であり、数値、日付、テキストなど種類の違う値を入れておくことが出来ます。自動変換メカニズムがあるため、式を正しく定義することによって、正しい結果を出力することが出来ます。ただ使い方によってはエラーを引き起こすこともある様です。 GenericValueに関する外部リンクhttps://docs.uipath.com/studio/lang-ja/docs/genericvalue-variables ※ この変数の型には整数も入れられますが、文字として扱われるので、代入演算子(計算式)には使えません。 変数には適用される範囲を定義するスコープというものがあります。詳しくはこちら 参考にした外部サイト https://docs.uipath.com/studio/lang-ja/docs/types-of-variables 元のページに戻る