Excel VBA 質問スレッド №1566 (解決済)
保存先のフォルダパスの指定について
投稿者 : ぴか     投稿日時 : 2023/09/14(Thu) 16:08:57     OS : 未指定     EXCEL : 未指定
先ほど投稿した内容に関して、追加の質問です。
五層目に格納されたフォルダの内、Sheets(1)のRange("F" & i)のセル内に書かれた文字列の左から10個の文字を含むフォルダがあれば、コピペする、とういう内容のロボットを作りたいです。
また、格納場所については、Sheets(1)のRange("D" & i)のセル内に書かれた文字列の左から3文字が「大阪府」であれば、指定した処理をしたうえで、指定したフォルダに格納し、「大阪市」、「その他」であれば、それぞれ別の処理を行いたいです。
★の箇所で下記エラーが起きています。
実行時エラー5:
「プロシージャの呼び出し、または引数が不正です。」
何かお気づきの点ありましたらご教授くださいませ。
	
	先ほど投稿した内容に関して、追加の質問です。
五層目に格納されたフォルダの内、Sheets(1)のRange("F" & i)のセル内に書かれた文字列の左から10個の文字を含むフォルダがあれば、コピペする、とういう内容のロボットを作りたいです。
また、格納場所については、Sheets(1)のRange("D" & i)のセル内に書かれた文字列の左から3文字が「大阪府」であれば、指定した処理をしたうえで、指定したフォルダに格納し、「大阪市」、「その他」であれば、それぞれ別の処理を行いたいです。
★の箇所で下記エラーが起きています。
実行時エラー5:
「プロシージャの呼び出し、または引数が不正です。」
何かお気づきの点ありましたらご教授くださいませ。
Sub 大阪府()
    Application.ScreenUpdating = False
    Dim fso As New FileSystemObject
    Set fso = New FileSystemObject
    Dim fld1 As Folder, fld2 As Folder, fld3 As Folder, fld4 As Folder, fld5 As Folder
    
        Dim i As Long
        For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
               
        With ActiveWorkbook
        
            Set fld = fso.GetFolder("Z:¥〇〇¥〇〇〇")
            
            For Each fld2 In fld.SubFolders
                For Each fld3 In fld2.SubFolders
                    For Each fld4 In fld3.SubFolders
                        For Each fld5 In fld4.SubFolders
                            If fld5.Name Like "*" & Left(.Sheets(1).Range("F" & i), 10) & "*" Then
                            
                                Select Case Left(.Sheets(1).Range("D" & i), 3)
                                
                                    Case "大阪府"
                                        .Sheets(1).Range("D" & i) = Replace(.Sheets(1).Range("D" & i), "大阪府", "")
                                        .Sheets(1).Range("D" & i) = Replace(.Sheets(1).Range("D" & i), "大阪", "")
                                        ★fld5.Copy Destination:="C:\Users\〇〇\Desktop\お大阪2\2.〇〇\大阪府\*" & Left(.Sheets(1).Range("D" & i), 3) & "*"
                                    Case "大阪市"
                                        fld5.Copy Destination:="C:\Users\〇〇\Desktop\お大阪2\3.市町村\オ大阪市\*" & Mid(.Sheets(1).Range("D" & i), 4, 3) & "*"
                                    Case Else
                                        fld5.Copy Destination:="C:\Users\〇〇\Desktop\お大阪2\3.市町村\*" & Left(.Sheets(1).Range("D" & i), 2) & "*"
                                End Select
                            End If
                        Next
                    Next
                Next
            Next
        End With
        Next
End Sub
スポンサーリンク
[返信 1] Re : 保存先のフォルダパスの指定について
投稿者 : さんこう     投稿日時 : 2023/09/14(Thu) 16:25:51
>fld5.Copy Destination:="C:¥Users¥〇〇¥Desktop¥お大阪2¥2.〇〇¥大阪府¥*" & Left(.Sheets(1).Range("D" & i), 3) & "*"
>「プロシージャの呼び出し、または引数が不正です。」
FolderオブジェクトのCopyメソッドのヘルプに、下記の説明が書かれています。
destination : 「ファイルまたはフォルダーのコピー先。 ワイルドカード文字は使用できません。」
	
	>fld5.Copy Destination:="C:¥Users¥〇〇¥Desktop¥お大阪2¥2.〇〇¥大阪府¥*" & Left(.Sheets(1).Range("D" & i), 3) & "*"
>「プロシージャの呼び出し、または引数が不正です。」
FolderオブジェクトのCopyメソッドのヘルプに、下記の説明が書かれています。
destination : 「ファイルまたはフォルダーのコピー先。 ワイルドカード文字は使用できません。」
[返信 2] Re : 保存先のフォルダパスの指定について
投稿者 : ぴか     投稿日時 : 2023/09/14(Thu) 17:27:37
さんこうさん
情報ありがとうございます。
次回からヘルプを確認するようにいたします。
大変助かりました。
■[返信 1] さんこうさん(2023-09-14 16:25:51)の記事
> >fld5.Copy Destination:="C:¥Users¥〇〇¥Desktop¥お大阪2¥2.〇〇¥大阪府¥*" & Left(.Sheets(1).Range("D" & i), 3) & "*"
>
> >「プロシージャの呼び出し、または引数が不正です。」
>
>
> FolderオブジェクトのCopyメソッドのヘルプに、下記の説明が書かれています。
>
> destination : 「ファイルまたはフォルダーのコピー先。 ワイルドカード文字は使用できません。」
>
	
	さんこうさん
情報ありがとうございます。
次回からヘルプを確認するようにいたします。
大変助かりました。
■[返信 1] さんこうさん(2023-09-14 16:25:51)の記事
> >fld5.Copy Destination:="C:¥Users¥〇〇¥Desktop¥お大阪2¥2.〇〇¥大阪府¥*" & Left(.Sheets(1).Range("D" & i), 3) & "*"
>
> >「プロシージャの呼び出し、または引数が不正です。」
>
>
> FolderオブジェクトのCopyメソッドのヘルプに、下記の説明が書かれています。
>
> destination : 「ファイルまたはフォルダーのコピー先。 ワイルドカード文字は使用できません。」
>
[返信 3] Re : 保存先のフォルダパスの指定について
投稿者 : higeru     投稿日時 : 2023/09/15(Fri) 09:28:48
解決済みなので目に留まらないかもですが、
■[質問] ぴかさん(2023-09-14 16:08:57)の記事
> Dim fso As New FileSystemObject
> Set fso = New FileSystemObject
一行目の "New" は不要です。もしくは("New" を付けたなら)二行目は不要です。些細なことですが前回の質問の時に書き忘れたので。
	
	解決済みなので目に留まらないかもですが、
■[質問] ぴかさん(2023-09-14 16:08:57)の記事
> Dim fso As New FileSystemObject
> Set fso = New FileSystemObject
一行目の "New" は不要です。もしくは("New" を付けたなら)二行目は不要です。些細なことですが前回の質問の時に書き忘れたので。
[返信 4] Re : 保存先のフォルダパスの指定について
投稿者 : ぴか     投稿日時 : 2023/09/15(Fri) 12:01:00
わざわざ教えてくださり助かります。
ありがとうございます。
削除しました。
■[返信 3] higeruさん(2023-09-15 09:28:48)の記事
> 解決済みなので目に留まらないかもですが、
>
> ■[質問] ぴかさん(2023-09-14 16:08:57)の記事
> > Dim fso As New FileSystemObject
> > Set fso = New FileSystemObject
>
> 一行目の "New" は不要です。もしくは("New" を付けたなら)二行目は不要です。些細なことですが前回の質問の時に書き忘れたので。
	
	わざわざ教えてくださり助かります。
ありがとうございます。
削除しました。
■[返信 3] higeruさん(2023-09-15 09:28:48)の記事
> 解決済みなので目に留まらないかもですが、
>
> ■[質問] ぴかさん(2023-09-14 16:08:57)の記事
> > Dim fso As New FileSystemObject
> > Set fso = New FileSystemObject
>
> 一行目の "New" は不要です。もしくは("New" を付けたなら)二行目は不要です。些細なことですが前回の質問の時に書き忘れたので。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
 - 記事内ではHTMLのタグは使用できません。
 - 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
 - Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
 - Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
 
スポンサーリンク
返信入力フォーム
	
	( 処理日時 : 2025-11-04 14:55:56 )