特定の文字を含むフォルダをコピーしたいのですが、ワイルドカード(*)の使い方が悪いようでエラーで止まってしまいます。
特定の文字の後に付いている文字にはアンダーバー「_」や数字、文字が混在しています。スペースは含みません。
正しいコードを教えて下さい。
Private Sub CommandButton1_Click()
Dim FSO As Object
Dim wsh As Object
Dim 特定文字 As Variant
Set FSO = CreateObject("Scripting.FileSystemObject")
Set wsh = CreateObject("WScript.Shell")
Set 特定文字 = Range("A1")
'Cドライブ「test」フォルダ内にあるフォルダ(特定文字を含むフォルダ名)をデスクトップ「テスト用」フォルダにコピーする
FSO.GetFolder("C:\test\" & 特定文字 & "*").Copy wsh.SpecialFolders("Desktop") & "\テスト用\"
Set FSO = Nothing
Set wsh = Nothing
End Sub
No.1ベストアンサー
- 回答日時:
以下のようにしてください。
特定文字はA1セルに記入されていますが、シート名を指定したほうが確実です。回答では、Sheet1のA1セルとしています。シート名はあなたの環境に合わせて適切に設定してください。
Private Sub CommandButton1_Click()
Dim FSO As Object
Dim wsh As Object
Dim 特定文字 As Variant
Dim folder As String
Dim wfolders As Object
Dim wfolder As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set wsh = CreateObject("WScript.Shell")
Set 特定文字 = Worksheets("Sheet1").Range("A1")
'Cドライブ「test」フォルダ内にあるフォルダ(特定文字を含むフォルダ名)をデスクトップ「テスト用」フォルダにコピーする
Set wfolders = FSO.GetFolder("c:\test").subfolders
For Each wfolder In wfolders
If wfolder.Name Like 特定文字 & "*" Then
wfolder.Copy wsh.SpecialFolders("Desktop") & "\テスト用\"
End If
Next
Set FSO = Nothing
Set wsh = Nothing
End Sub
No.2
- 回答日時:
こんにちは
FileSystemObjectのGetFolderメソッドでは、ワイルドカードは使えません。
https://docs.microsoft.com/ja-jp/office/vba/lang …
ですので、既回答のようにフォルダを調べてピックアップするような方法になろうかと思われます。
一方で、VBAのDir関数であればワイルドカードを使用できますので、質問文にご提示のような考え方で、検索することは可能です。
https://docs.microsoft.com/ja-jp/office/vba/lang …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Android VBA、フォルダのパスに環境文字 ㉑ があり、VBAが機能しません。 2 2022/07/27 09:16
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない 2 2023/05/24 15:31
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBA フォルダ名に特定の文字を含むフォルダを別フォルダにコピーするコードを教えて下さい
Visual Basic(VBA)
-
excel VBA 特定の文字列を含むフォルダを開く方法
Excel(エクセル)
-
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
-
4
excel VBA 部分一致の名前をパスに指定する方法
Excel(エクセル)
-
5
部分検索でフォルダ名を検索するマクロ
Excel(エクセル)
-
6
ExcelVBAでBookを開く時にファイル名の一部だけを指定で
Access(アクセス)
-
7
多量のファイルをフォルダに自動振り分けするマクロを教えて下さい。
PowerPoint(パワーポイント)
-
8
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
9
VBAでセル値からフォルダ名を取得するコードについて
Excel(エクセル)
-
10
vlookupにて、返した値をさらに、他の文字列に変換するには
Excel(エクセル)
-
11
サブフォルダ含むフォルダ内の全ファイルから指定文字列を含んだファイルの情報を一覧出力させたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
Excel VBA マクロ 選択したフォ...
-
Excelのハイパーリンクについて...
-
pythonでDepixを起動
-
Excel VBAでフォルダ作成及び一...
-
【マクロ】ファイル名の日付に...
-
Excelvbaでブックをコピー名前...
-
VBA:特定の文字を含むフォルダ...
-
同一フォルダ内の別ブックから...
-
ばねモデルのJAVAアプレット
-
Javaでフォルダ複数階層のZipフ...
-
30日前を残して過去の日付フォ...
-
デスクトップの画像をhtmlに表...
-
フォルダの削除
-
MinGWで正規表現(regex.h)がし...
-
Dreamweaverでイメージを挿入す...
-
【マクロ】フォルダにファイル...
-
ファイルのアクセス回数について
-
エクセルのプロパティーでセキ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
バッチファイルが保存されてい...
-
ファイル名と同名のフォルダを...
-
【マクロ】ファイル名の日付に...
-
VBA フォルダ名に特定の文字を...
-
デスクトップの画像をhtmlに表...
-
フォルダ内のPDFファイル名を変...
-
ディレクトリ名変更してコピー...
-
多量のファイルをフォルダに自...
-
Excelで指定したフォルダに保存...
-
Access VBA で フォルダ権限...
-
C ファイル出力で、フォルダが...
-
Excelのハイパーリンクについて...
-
あるフォルダーのファイルを違...
-
パス名に2バイト文字(マルチバ...
-
同一フォルダ内の別ブックから...
-
エクセルのマクロについて教え...
-
バッチファイルで指定フォルダ...
-
ExcelのVBAでフォルダ指定がで...
おすすめ情報