特定のサブフォルダパスを取得する方法

UiPath初心者です。
エクセルの特定のセルに入力した文字列を含むサブフォルダのパスを取得したいです。
最終的にはパスを変数にしてoutlookにハイパーリンクとして貼りたいです。

代入で「フォルダ名一覧=Directory.GetDirectories(親フォルダのパス)」として、繰り返しでコレクションをフォルダ名一覧にして条件分岐の条件に「item.ToString.Contains(文字列の変数)」を入れてThenのなかに1行書き込みを入れてみたんですが、(文字列の変数)が含まれているサブフォルダのパスを書きだすにはどうしたらいいかわかりません。
そもそもこのやり方であっているのか、もしあっていたとしても最適解なのかもわからないです。

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

こんにちは

具体例が無いので、外しているかもしれませんが、以下のような感じかと思います。

やりたいことが違うようでしたら、具体例を補足してもらうと良いかもしれません。

ご回答いただきましてありがとうございます。

全文表示していただいた「System.IO~(item)」が抜けていたので入れたら実行証跡はThenのほうにつくようになったんですが、1行書き込みの出力に該当フォルダのパスが表示されていないんですがこれでいいのでしょうか?
最終的にはそのパスの変数(添付のxamlファイルで言うフォルダパス)を、Outlookの本文にハイパーリンクとして貼りたいと思っています。

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


メールテスト.xaml (13.1 KB)

1 Like

こんにちは

フルパスが必要ならitemを出力してみてください。

ただこれでハイパーリンクになるかは受けてのメーラーにも依存するかと思います。
例えばOutlookでしたらドライブレターが割り振られているパスをハイパーリンクとするには

"file:///"+item

としてメール本文中に単独の行としていれてあげると機能すると思います。

:arrow_right_hook:itemを出力って具体的にどうすればいいんでしょうか・・?

また、itemをOutlookの本文で使うために繰り返しの中に入れたんですが、同一メールが親フォルダに入っているサブフォルダの数だけ送信されてしまいました。
これの解決策も教えていただきたいです。

あと、“file:///”+itemでやっているんですが、パスの途中までしかハイパーリンクになりません。
使用しているのは送信元も送信先もOutlookを使用しています。

拙い説明で何度もすみません。
よろしくお願いいたします。

こんにちは

一行書き出しアクティビティ等を使ってitemの中身を確認してみてくださいという意図でした。

また、itemをOutlookの本文で使うために繰り返しの中に入れたんですが、同一メールが親フォルダに入っているサブフォルダの数だけ送信されてしまいました。
これの解決策も教えていただきたいです。

ループ(繰り返し)の中でメール送信アクティビティを使っているとそのようになりますので
ループ内でメール本文を文字列変数として生成し、メール送信のアクティビティは繰り返しが
終わってから使ってください。

あと、“file:///”+itemでやっているんですが、パスの途中までしかハイパーリンクになりません。

"<file:///"+item+">"

としてみてください。Outlookで人の手でメール送信するときにリンクにする手法と同じになります。

度々すみません。

:arrow_right_hook:Thenの中にメール送信アクティビティを入れることで、物件名(変数)が含まれているものだけメールが送信させるという考え方ではだめでしょうか?

また、ハイパーリンク以外のメール本文は文字列の範囲の変数にしてあるので、ハイパーリンクにするための該当サブフォルダパスだけを変数にしたいのですが、メール本文にフォルダパス(変数)を入れてもそのままitemを入れても次のエラー「Option Strict OnでStringからIntegerへの暗黙の型変更はできません」が表示されます。

解決策はおわかりになりますでしょうか・・
拙い説明で何度もすみません。

コピー.xaml (14.2 KB)

こんにちは

実現したいことは
「ディレクトリ一覧を取得したリストから、特定の文字列を含むものについて、そのディレクトリを含む本文を1通づつメール送信する」
というこでしょうか?
そうであれば、ループの中で、条件分岐させ、条件分岐の片側にメール送信を入れるでOKかと思います。

また、ハイパーリンク以外のメール本文は文字列の範囲の変数にしてあるので、ハイパーリンクにするための該当サブフォルダパスだけを変数にしたいのですが、メール本文にフォルダパス(変数)を入れてもそのままitemを入れても次のエラー「Option Strict OnでStringからIntegerへの暗黙の型変更はできません」が表示されます。

繰り返しアクティビティの「現在のインデックス」プロパティに余分な設定が入っていますので、これを削除してみてください。

出来ました!!!
こんな初心者の説明に的確にご指示いただけて本当にすごい!
ありがとうございました!!!

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.