|
こんばんは。
> 空白のセルの値を参照した時点で
> .Movefileのパスがエラーを返しているという理解でよいのでしょうか。
そうだと思いますよ。
ご自分で試してみたらどうでしょうか。
Sub test2()
Dim Target2 As String
Dim strMoveTo As String
Dim strScriptPath2 As String
Dim objFileSys As Object
Set objFileSys = CreateObject("Scripting.FileSystemObject")
strScriptPath2 = "C:\Users\100221\Desktop\ ・・以下略 ・・"
strMoveTo = objFileSys.BuildPath(strScriptPath2, "")
objFileSys.MoveFile "", strMoveTo
End Sub
> この空白のセルを無視して、200行目までセルの値を参照してそのパス名のファイルを
> 移動させたいのですが、その場合はどのように考えたらよいのでしょうか。
余り難しく考えないようにして下さい。
空白でない時だけ実行すればいいのですよね。
例えば以下のようにするといいでしょう。
Fn = Cells(i, 12).Value
If Fn <> "" Then
strMoveFrom = objFileSys.BuildPath(Fn, "")
strMoveTo = objFileSys.BuildPath(strScriptPath2, "")
objFileSys.MoveFile strMoveFrom, strMoveTo
End If
== 以上 ===
なお、細かい事ながら、意図がわからないところがあります。
(1)
> strScriptPath1 = (Target1)
変数を変える必要はありません。
(2)
> strMoveFrom = objFileSys.BuildPath(Fn, "")
普通は、フォルダ名に、ファイル名を連結するときなどに使います。
strMoveFrom = objFileSys.BuildPath(Fn, "")ならば、
単に
strMoveFrom = Fn
で良いはずです。
なにかコードをつぎはぎしているので、本来の意図と離れたコードに
なっているようにお見受けします。頑張ってください。
|
|