Excel VBA質問箱 IV

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

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


9739 / 76734 ←次へ | 前へ→

【72554】指定フォルダ配下の全ファイルコピー
質問  FSO初心者  - 12/8/23(木) 22:40 -

引用なし
パスワード
   題名の通りですが、
指定したフォルダ配下の、サブフォルダー内も含むすべてのファイルを、
指定フォルダ内へコピーするマクロを作りたいです。

FileSystemObject初心者なのですが、WEBページを参考にぱっと書き上げたものでは
うまくいきません。(というよりコンパイルエラーから抜け出せません。。)

何か良い方法はありますでしょうか?

(以下のは私の駄作コードです。参考までに。
 なお、以下のコードでは動いたとしても
 指定フォルダ配下第一階層までしかコピーできないと思います。)

【ご回答にあたって】
下記コードを活かす活かさないはどちらでもよいのですが、
お時間あれば、後学のためにご質問にもご回答いただければと思います。
1.FileSystemObjectの使用方法として、下記のように3つもインスタンス生成
 するのは根本的に間違っていませんか?
2.FileSystemObjectではなく、Microsoftscriptingruntimeで使用可能になった
 Folder、Fileオブジェクトでフルパスの取得はできますか?
 (もしできるなら、FileSystemObjectとの差異はなんでしょうか?
  メソッドやプロパティの違い?)

以上、
ご面倒ですが、小生にご指南いただけると幸いです。


ーーーーー(Microsoft scripting runtime はオンにしています。)

Sub filemove()
Dim BeforePath As String, AfterPath As String

BeforePath = ThisWorkbook.Worksheets(1).Range("A1") 'コピー元フォルダの指定
AfterPath = ThisWorkbook.Worksheets(1).Range("2") & "\" 'コピー先フォルダの指定
Dim objpath As Folder, objfile As File 'For Eachで使用するためのハコ

Dim objFSO1 As FileSystemObject, objFSO2 As FileSystemObject
Set objFSO1 = New FileSystemObject '指定フォルダ配下のサブフォルダ取得用
Set objFSO2 = New FileSystemObject 'サブフォルダ内のファイル取得用
  
  For Each objpath In objFSO1.GetFolder(BeforePath).SubFolders
    For Each objfile In objpath.Files
      Const cnsSOUR = objFSO2.GetAbsolutePathName(objfile)
      Const cnsDEST = AfterPath & objfile.Name
    
      Dim objFSO3 As FileSystemObject 'ファイルコピー用
      Set objFSO3 = New FileSystemObject
      objFSO3.MoveFile cnsSOUR, cnsDEST
    Next objfile
  Next objpath
  
  Set objFSO1 = Nothing
  Set objFSO2 = Nothing
  Set objFSO3 = Nothing

End Sub

ーーーーーーーーーーーー
※GetAbsolutePathNameの定数が設定されていないとかいうエラーから進めません。
3 hits

【72554】指定フォルダ配下の全ファイルコピー FSO初心者 12/8/23(木) 22:40 質問
【72555】Re:指定フォルダ配下の全ファイルコピー kanabun 12/8/23(木) 23:36 発言
【72561】Re:指定フォルダ配下の全ファイルコピー FSO初心者 12/8/24(金) 23:40 お礼
【72556】Re:指定フォルダ配下の全ファイルコピー kanabun 12/8/24(金) 0:19 発言
【72557】Re:指定フォルダ配下の全ファイルコピー kanabun 12/8/24(金) 11:33 発言
【72562】Re:指定フォルダ配下の全ファイルコピー FSO初心者 12/8/24(金) 23:48 お礼
【72564】Re:指定フォルダ配下の全ファイルコピー kanabun 12/8/25(土) 8:23 発言
【72565】Re:指定フォルダ配下の全ファイルコピー kanabun 12/8/25(土) 9:05 発言
【72566】Re:指定フォルダ配下の全ファイルコピー Yuki 12/8/25(土) 9:37 発言
【72569】Re:指定フォルダ配下の全ファイルコピー FSO初心者 12/8/25(土) 14:56 質問
【72571】Re:指定フォルダ配下の全ファイルコピー Yuki 12/8/25(土) 17:59 発言
【72575】Re:指定フォルダ配下の全ファイルコピー FSO初心者 12/8/26(日) 0:36 お礼
【72589】Re:指定フォルダ配下の全ファイルコピー Yuki 12/8/26(日) 19:55 発言
【72572】Re:指定フォルダ配下の全ファイルコピー kanabun 12/8/25(土) 19:01 発言
【72588】Re:指定フォルダ配下の全ファイルコピー FSO初心者 12/8/26(日) 19:04 回答
【72558】Re:指定フォルダ配下の全ファイルコピー kanabun 12/8/24(金) 11:39 発言

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