Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5834 / 76732 ←次へ | 前へ→

【76503】Re:セルの値のファイル名のファイルを移動させたい
発言  γ  - 14/12/17(水) 21:40 -

引用なし
パスワード
   こんばんは。

> 空白のセルの値を参照した時点で
> .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
 で良いはずです。

なにかコードをつぎはぎしているので、本来の意図と離れたコードに
なっているようにお見受けします。頑張ってください。
 

1 hits

【76495】セルの値のファイル名のファイルを移動させたい RS 14/12/16(火) 20:53 質問[未読]
【76497】Re:セルの値のファイル名のファイルを移動... γ 14/12/16(火) 21:16 発言[未読]
【76498】Re:セルの値のファイル名のファイルを移動... RS 14/12/16(火) 22:15 発言[未読]
【76500】Re:セルの値のファイル名のファイルを移動... γ 14/12/17(水) 7:13 発言[未読]
【76501】Re:セルの値のファイル名のファイルを移動... RS 14/12/17(水) 8:49 発言[未読]
【76503】Re:セルの値のファイル名のファイルを移動... γ 14/12/17(水) 21:40 発言[未読]
【76506】Re:セルの値のファイル名のファイルを移動... RS 14/12/17(水) 22:15 回答[未読]

5834 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free