Select file で特定のフォルダを最初から表示することはできるか

select file アクティビティを使ってユーザにファイル選択をさせる際、
一度ロボを動かして選択したフォルダが記憶され、次回より同じフォルダがデフォルトで
表示されるようです。

上記のやり方ではなく、ロボの中で特定のフォルダを指定してselect fileを実行することは
できますでしょうか。(最初に開くフォルダをロボの中から指定したい。)

よろしくお願いいたします。

こんにちは

Select File Activityでは無理と思うので、
System.Windows.Forms.OpenFileDialogクラスを使うのが良いと思います。
InitialDirectoryプロパティに初期ディレクトリを設定し、ShowDialogメソッドを呼べばOKです。

実はUiPathのXamlは、初期設定ではSystem.Windows.Formsをロードする設定がないんですよね。
なので、XamlのAssemblyReferenceを直接、追加する必要があります。

ということで、サンプルを作成してはみましたが(UiPath 18.3.2~で動きます)
……これが推奨される方法かというと難しいですね。Select File Activityが機能追加されることを祈るのみ、でしょうか。

showdialog.zip (2.6 KB)

4 Likes

こんにちは

手元の2018.2.6のStudioではSystem.Windows.FormsをImportタブから追加可能です。
#確かに昔(2018.1?)では追加できなかったような記憶はありますが....

2018.3系でも当方の環境ではSystem.Windows.Forms.OpenFileDialogのクラスの変数を作成、またはインスタンス生成したタイミングでImportタブにSystem.Windows.Formsが自動的に追加されます。注意のアイコンは表示されていますが、Studio実行、Publish、Publish後のPackageからの実行も問題なさそうな感じですが、いかがでしょうか?(少し気味が悪い状態ではありますが...)

アセンブリ参照の自動追加は、バージョンやら環境によってできたりできなかったり、という印象です。

平たく言うと再現性の怪しい不具合が潜んでいるようで、なんとも。
動いてくれるならXamlの直接編集は不要なので、それに越したことはないのですが。

1 Like

みなさんありがとうございます。

サンプルの方法で期待通りの動作をすることを確認できました。
将来的にはSelect File Activityが機能追加されるといいですね!