実現したいこと
親フォルダ内の子フォルダと同じ階層にいるpdfファイルを、子フォルダと同じ階層にいる完了フォルダへ移動したいです。
●イメージ図
●作業流れ
①ツール.xlsmからVBA実行
②子フォルダ内のpdfファイルを完了フォルダへ移動
●全体フォルダ構成
※ツール一覧フォルダ内にツール.xlsmが格納されています。
※テスト環境内にイメージ図の親、子フォルダ、pdfファイルが格納されています。
前提
・pdfファイルがない場合は、処理をスルーしたい。
・親フォルダは今後100フォルダになると想定しております。
それにともなって親フォルダの名称は新規作成される時でないと分からないようになっています。
発生している問題・エラーメッセージ・調査したこと・試したこと
・移動前と移動先のフォルダパスが変化する為、変化に対応したパス指定の方法が分かりませんでした。
該当のソースコード
VBA
1Sub 完了フォルダへpdfファイル移動() 2'複数のファイルを移動する 3 Dim FSO As New FileSystemObject 4 Dim FromPath As String 5 Dim ToPath As String 6 Dim FileInFromFolder As Object 7 8 FromPath = "C:\Users\z09071\Desktop\一時\テスト環境\" 9 ToPath = "C:\Users\z09071\Desktop\一時\テスト環境\\" 10 11 Set FSO = CreateObject("Scripting.FileSystemObject") 12 13 For Each FileInFromFolder In FSO.GetFolder(FromPath).Files 14 FileInFromFolder.Move ToPath 15 Next FileInFromFolder 16 17End Sub 18
ファイル管理ソフトやgitを使わないの?
返信ありがとうございます。
今回は、VBAで実施したいと考えております。
了解です。チャレンジするなら、WordのVBAで実施すると凄いと思います。頑張って下さい。
> 移動前と移動先のフォルダパスが変化する為、変化に対応したパス指定の方法が分かりませんでした。
フォルダ名が変化しない前提であればやりたい事が実現できている、と理解して良いですか?
返信ありがとうございます。
はい、From、ToPath変数へ固定のパスを指定する方法により、固定フォルダ名間の移動は出来るようになっているのですが、今回はフォルダ名が変化するため狙った動作ができない状態になります。
> ・pdfファイルがない場合は、処理をスルーしたい。
上記についても実装済ですか?
返信ありがとうございます。
私のコードでは実装できておりません。

回答1件
あなたの回答
tips
プレビュー