Excel VBA 質問スレッド №1984 (解決済)
fso.CopyFileがうまく実行されない
投稿者 : Mi 投稿日時 : 2024/08/04(Sun) 13:13:45 OS : Windows 10 EXCEL : Office 365
下記コードを実行しても、コピー先フォルダにファイルがコピペされません。
原因が分からないため、わかる方がいましたらご教示お願いいたします。
(↓パスの一部)
コピー元 パス:C:\Users\bieih\OneDrive\ドキュメント\Aフォルダ\Bフォルダ\Cフォルダ\*.xls*
コピー先 パス:C:\Users\bieih\OneDrive\ドキュメント\Aフォルダ - コピー (2)\Bフォルダ\Cフォルダ
下記コードを実行しても、コピー先フォルダにファイルがコピペされません。
原因が分からないため、わかる方がいましたらご教示お願いいたします。
Sub ファイルのコピペ() Dim fso As Object Dim ParentFolder As String Dim nextFolder As String Dim ret As Long '最終行の変数を宣言 Dim n n = Worksheets("sheet1").Cells(Rows.Count, 3).End(xlUp).Row For i = 6 To n ParentFolder = Worksheets("sheet1").Cells(i, 4) nextFolder = Worksheets("sheet1").Cells(i, 5) Set fso = CreateObject("Scripting.FileSystemObject") 'ファイルの存在確認 If Dir(ParentFolder) <> "" Then 'コピー先フォルダの存在確認 If Dir(nextFolder) <> "" Then 'ファイルをコピー fso.CopyFile ParentFolder, nextFolder End If End If Next i '後片付け Set fso = Nothing End Sub
(↓パスの一部)
コピー元 パス:C:\Users\bieih\OneDrive\ドキュメント\Aフォルダ\Bフォルダ\Cフォルダ\*.xls*
コピー先 パス:C:\Users\bieih\OneDrive\ドキュメント\Aフォルダ - コピー (2)\Bフォルダ\Cフォルダ
スポンサーリンク
[返信 1] Re : fso.CopyFileがうまく実行されない
投稿者 : ピロリ 投稿日時 : 2024/08/04(Sun) 13:59:09
コピー先の「フォルダの存在」を確認しようとしている訳ですから、
If Dir(nextFolder) <> "" Then のところを、
If Dir(nextFolder, vbDirectory) <> "" Then にしてみたら どうなりますか?
コピー先の「フォルダの存在」を確認しようとしている訳ですから、
If Dir(nextFolder) <> "" Then のところを、
If Dir(nextFolder, vbDirectory) <> "" Then にしてみたら どうなりますか?
[返信 2] Re : fso.CopyFileがうまく実行されない
投稿者 : Mi 投稿日時 : 2024/08/04(Sun) 18:28:38
ピロリ様
回答いただきありがとうございます。
記載いただいたとおりに修正したら出来ました!
vbDirectoryについてもまた、勉強したいと思います。
色々不備のあるご質問のところ、教えていただきありがとうございました。m(__)m!
ピロリ様
回答いただきありがとうございます。
記載いただいたとおりに修正したら出来ました!
vbDirectoryについてもまた、勉強したいと思います。
色々不備のあるご質問のところ、教えていただきありがとうございました。m(__)m!
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-07-06 01:21:43 )