StudioXで実行ユーザーに楽にファイルやフォルダーを指定させたい!

プロセスを実行したら最初に実行ユーザーにフォルダを指定してもらいたい 要件があり、簡単なものだったのでUiPath StudioXで作ろうとしたんですね。

StudioXではアクティビティの入力パラメータを「実行時に確認」という形で指定する機能があるのですが、少し使いづらいんですよね。ファイルを指定したい場合はファイル選択のダイアログが表示されて選択するのが使いやすいですよね。

pic1

で、ファイル選択ダイアログを表示するアクティビティとして、UiPath Studioで標準アクティビティとして用意されている[ファイルを選択]アクティビティ、[フォルダーを選択]アクティビティを探したんですが、UiPath StudioXでは使用できないようでした(v2020.10.2現在)

私の探し方が悪いか、今は使えなくてもそのうち使えるようになるかもしれませんが、[ファイルを選択]アクティビティの[フィルター]プロパティってちょっと指定が難しいし、[フォルダーを選択]アクティビティで表示されるダイアログもちょっと使いづらい。

pic2

愚痴ばかりですみません笑。

ということで、これらの使いづらいところを改善した(であろう)カスタムアクティビティを作成し、申請したところ、UiPath Connectマーケットプレイスに無事公開されたので、紹介したいと思います!

要約すると?

シンプルな指定方法で、「ファイルを選択する」、「ファイルを保存する」、「フォルダーを選択する」ダイアログを表示できるパッケージです。


  • 標準アクティビティでは指定できないダイアログタイトルや初期フォルダーを指定できます。
  • ファイル形式フィルターを直感的に指定できます。
  • StudioXで使用できます。

もう少し詳しく説明

パッケージには3つのアクティビティが含まれています。

1.「ファイル選択ダイアログを表示」アクティビティ

扱いたいファイルをユーザーに指定させたい時に使用するアクティビティです。
「ダイアログのタイトル」「初期表示フォルダ」「ファイル形式のフィルター」をプロパティで指定できます。
UiPath公式の「ファイルを選択」アクティビティでは、選択できるファイル形式をフィルターしたい場合、「All files (.)|*.*」のように構文を記載する必要がありますが、本アクティビティでは、直感的に「Excel」「Word」「ALL」などを選択肢から選ぶことでフィルターが可能になっています。StudioXでも使えます。

pic3

2.「ファイル保存ダイアログを表示」アクティビティ

ファイルの保存先をユーザーに指定させたい時に使用するアクティビティです。
「ダイアログのタイトル」「初期表示フォルダ」「ファイル形式のフィルター」をプロパティで指定できます。
本アクティビティでは、直感的に「Excel」「Word」「ALL」などを選択肢から選ぶことでフィルターが可能になっています。StudioXでも使えます。

pic4

3.「フォルダ選択ダイアログを表示」アクティビティ

扱いたいフォルダーをユーザーに指定させたい時に使用するアクティビティです。
「ダイアログのタイトル」「初期表示フォルダ」をプロパティで指定できます。
UiPath公式の「ファイルを選択」アクティビティは、コピーアンドペーストで指定できないダイアログ形式ですが、本アクティビティはコピーアンドペーストでも指定することができるようにし、使いやすくしました。StudioXでも使えます。

pic5

どういうときに使うと便利?

  • 実行時にファイルやフォルダーをユーザーに指定させたい時
  • ExcelやPDFなどの拡張子の指定を簡単に行いたい時

仕組みは?

UiPathには、複雑な処理を行うオリジナルのカスタム部品(カスタムアクティビティ)を作成する機能があります。
Visual Studio + C#にて、[CommonOpenFileDialog/CommonSaveFileDialog]を呼び出すカスタムアクティビティを、Activity Creatorを使用して作成しています。

詳細は気が向かないので多分紹介しませんが、ソースは以下に公開しています。C#でコードを書いて実装しています。


導入方法


UiPath プロジェクト作成

UiPath Studioで新規プロセスを作成します。プロジェクト名はお好きな名前で!

SimpleFileDialog.Activitiesパッケージのセットアップ

プロジェクトが作成されたら、デザインタブ - [パッケージの管理]をクリックし、[パッケージを管理]ダイアログを表示します。
続いて [Connect] (なければ[すべてのパッケージ])を選択し、検索欄に SimpleFileDialog と入力し、表示される SimpleFileDialog.Activities を選択します。右側に表示される [インストール] をクリックし、 [保存] をクリックします。

pic7

アクティビティパネルに3つのアクティビティが表示されているはずです(StudioXの場合、その他タブに配置されています。)

pic8

あとはプロパティの指定はそこまで難しくないと思うので、説明は割愛します! 良かったら使ってみてください(*^▽^*)