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 とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2023-10-01 23:40:09 )