Directory.GetFilesで取得した一覧(配列)の増減

①Directory.GetFiles(“対象フォルダのパス”)でフォルダ内にあるファイル一覧を取得。
②取得したファイルがExcelの場合、指定したシートがない場合にリストとして取得。
③①から②のファイルデータだけ削除
④③を印刷

という流れを実施したく思っているんですが、
①Assingで取得
②Excel操作でシート存在確認後、シートない場合にリスト化(Add To Collection)
③②をループし、①からRemove From Collectionで削除
とすると、③のところで下記のエラーがでます。

System.NotSupportedException: Collection was of a fixed size.
at UiPath.Executor.BaseRunner.EndExecute(IAsyncResult result)
at UiPath.Executor.InProcessRunner.EndExecute(IAsyncResult result)
at UiPath.Core.Activities.InvokeWorkflowFile.EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
at System.Activities.AsyncCodeActivity.System.Activities.IAsyncCodeActivity.FinishExecution(AsyncCodeActivityContext context, IAsyncResult result)
at System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)

原因は①のフォルダ内のファイル一覧取得で、配列が固定されている為でした、

現状は①を取得(配列)後 ループでリスト化し、②のリストの対象ファイルを削除してます。

質問事項
・①の配列の要素を削除または追加する方法はありますか?
・①で取得した配列を一括でリスト化する方法はありますか?
・Directory.GetFilesをリストで取得する方法はありますか?

Directory.GetFilesの返却は、Stringですので、

List型の変数(FL)を用意し、

代入アクティビティ
右辺:Directory.GetFiles("./").ToList
左辺:FL

としてやれば、変数FLに転記出来ます。

2 Likes

Listで取得できたんですね。
ありがとうございました。

1 Like

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