前提・実現したいこと
#VBAで複数のサブフォルダ内にあるファイルを上階層のサブフォルダに移動したい。
一番下のサブフォルダ〔item〕内の各ファイルを、サブフォルダ〔A○○○○〕に移動したい。
※イメージ:
〔全てのファイル保存先〕 ※親フォルダ
→〔attached〕 ※都度納品される子フォルダ1
→〔A○○○○〕 ※子フォルダ2。中に1~3個の子フォルダ3が入っている。
→〔attachitem1〕→Excel,〔attachitem2〕→Word,〔attachitem3〕→pdf
※子フォルダ3。中にファイル形式がバラバラなファイルが1つずつ入っている。
※補足:
・〔〕はフォルダを指します。『→』は「中にある」と読んでください。
・〔A○○○○〕および〔attachitem○○〕の○部分は常に変わります。
・〔A○○○○〕は大量にあり、その中にある〔attachitem○○〕は1~3個。
発生している問題・エラーメッセージ
実行時エラー5 プロシージャの呼び出し、または引数が不正です。
該当のソースコード
Sub MoveData() Dim fso As FileSystemObject Dim S_RST As String '移動元 Dim D_RST As String '移動先 Set fso = CreateObject("Scripting.FileSystemObject") S_RST = "\全ての受領データ保存先\attached\A*\attachitem**.*" D_RST = "\全ての受領データ保存先\" fso.MoveFile S_RST, D_RST Set fso = Nothing MsgBox "完了!" End Sub
試したこと
上記の通り、〔A○○○○〕と〔attachitem○○〕は都度名前が変わるため、フルパスで指定することができません。そこでフォルダパスにワイルドカードを使ってみましたが、上手くいきませんでした。
パスを指定せずに〔attached〕から先のサブフォルダ内にあるファイルを検索し、移動させることは可能でしょうか。
補足情報(FW/ツールのバージョンなど)
Windows10 Excel2016を使用しています。
回答3件
あなたの回答
tips
プレビュー