r-chinen
(まーる)
1
いつもお世話になっております。
現在、GetDirectoryNameメソッドでパスの情報を返して
GetFileNameで名前を返す方法で、フォルダのコピーを行おうと考えております。
しかし、実行しますと以下のエラーがでてしまいます。
解決方法等はありますでしょうか。
また、上記方法以外で、簡単にフォルダ移動ができる方法がありましたら
ご教示いただけますでしょうか。
【エラー】
繰り返し (フォルダ移動)Sub: 型 ‘System.Char’ のオブジェクトを型 ‘System.String’ にキャストできません。
cheez_RPA
(いわさき りょうすけ (UiPath Japan MVP 2019 - 2021))
2
何か式が誤っているような気がしますね。
入れている式を共有いただくことは出来ますでしょうか。
cheez_RPA
(いわさき りょうすけ (UiPath Japan MVP 2019 - 2021))
4
ワークフロー自体は見た感じでは違和感ないですね。
エラーメッセージから、何かしらの変数・引数がSystem.Charで渡ってしまっていることが原因というのはわかるのですが、心当たりになるものはありそうでしょうか。
エラーメッセージが再現できるのであれば、スタックトレース(エラーメッセージの詳細)をいただけるともう少しなにかわかるかもしれません。
Yoichi
(Yoichi)
5
こんにちは
例外の直接の原因は以下のようです。
【繰り返しアクティビティ】
要素:[conFoldar] コレクション:[System.IO.Path.GetDirectoryName(フォルダパス)]
GetDirectoryNameメソッドは文字列(String)を返します。これをFor Eachでイテレートすると
文字列の1文字1文字をcharとして繰り返します。今conFoldarがStringなので、これにCast
できないということです。
そのため、やりたいこととしては、おそらく
余談として、System.IO.Directory.GetDirectories(フォルダパス,“*”)
でも試してみました。
の方が正しいように思えます。
【コードを呼び出しアクティビティ】※フォルダコピーをしております。
My.Computer.FileSystem.CopyDirectory(conFoldarName(移動元フォルダパス), 移行先フォルダパス, _
FileIO.UIOption.AllDialogs, FileIO.UICancelOption.DoNothing)
の部分でコピー元のディレクトリ名を、新しいパスに明示的に加えると、良いように思えます。
1 Like
Yoichi
(Yoichi)
7
こんにちは
移動元のディレクトリがconFolderに入っているのであれば
現在移動先フォルダパスの部分を以下に変更すれば
良いように思えます。
System.IO.Path.Combine(移行先フォルダパス,System.IO.Path.GetFileName(conFolder))
system
(system)
Closed
8
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.