
特定の文字を含むフォルダをコピーしたいのですが、ワイルドカード(*)の使い方が悪いようでエラーで止まってしまいます。
特定の文字の後に付いている文字にはアンダーバー「_」や数字、文字が混在しています。スペースは含みません。
正しいコードを教えて下さい。
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excel VBA Dirにて検索したフォ...
-
Windows10でコマンドプロンプト...
-
ファイル名と同名のフォルダを...
-
C言語でのフォルダ作成
-
Excelで指定したフォルダに保存...
-
ThisWorkbookがあるフォルダ更...
-
GetAttrが原因?
-
エクセルのマクロについて教え...
-
ディレクトリ名変更してコピー...
-
会社のネットワーク上のファイ...
-
外部メールサーバーからメール...
-
lightbox へのリンクについて質...
-
VBA DIR関数の第2引数vbDirectory
-
VBAにてツリー階層表示ツールの...
-
DelphiのSelectDirectoryの使い...
-
Access VBA で フォルダ権限...
-
デスクトップの画像をhtmlに表...
-
セレクトボックスで選択された...
-
フォルダーとファイルの認識
-
ファイル保存時のダイアログ表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
ファイル名と同名のフォルダを...
-
デスクトップの画像をhtmlに表...
-
VBA 最新のフォルダ取得
-
VBA フォルダ名に特定の文字を...
-
Access VBA で フォルダ権限...
-
ディレクトリ名変更してコピー...
-
excelマクロ 冒頭3文字が一致す...
-
Excelで指定したフォルダに保存...
-
パス名に2バイト文字(マルチバ...
-
ExcelのVBAでフォルダ指定がで...
-
excel VBA Dirにて検索したフォ...
-
【マクロ】ファイル名の日付に...
-
VBA フォルダの複数選択ができない
-
Excelのハイパーリンクについて...
-
あるフォルダーのファイルを違...
-
C ファイル出力で、フォルダが...
-
フォルダを開いて、閉じるのプ...
-
ThisWorkbookがあるフォルダ更...
おすすめ情報