
特定の文字を含むフォルダをコピーしたいのですが、ワイルドカード(*)の使い方が悪いようでエラーで止まってしまいます。
特定の文字の後に付いている文字にはアンダーバー「_」や数字、文字が混在しています。スペースは含みません。
正しいコードを教えて下さい。
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
exeと同じ階層にフォルダを配置...
-
VBScriptでフォルダ内の全ファ...
-
outlook マクロが終了しません。
-
AIX findコマンド
-
フォルダの場所を可変にしたい...
-
マクロについて教えてください...
-
【ExcelVBA】一覧表の記載に従...
-
フォルダ内のPDFファイル名を変...
-
エクセルマクロ フォルダの選...
-
API関数(DLL)の呼び出しにお...
-
エクセルvbaでdocuworksprinter...
-
同じファイル名 上書きしないフ...
-
エクセルのプロパティーでセキ...
-
uwscでExcelに自動記入
-
xcopyコマンドの進行状況を表示...
-
サブフォルダから部分一致のエ...
-
ExeclVBAユーザーフォームから...
-
開いているファイルを削除し、...
-
JWCADのファイルを他のP...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
デスクトップの画像をhtmlに表...
-
ファイル名と同名のフォルダを...
-
会社のネットワーク上のファイ...
-
ExcelのVBAでフォルダ指定がで...
-
Excelで指定したフォルダに保存...
-
VBA フォルダの複数選択ができない
-
【マクロ】ファイル名の日付に...
-
VB.NRT FolderBrowserDialogを...
-
【マクロ】フォルダにファイル...
-
ThisWorkbookがあるフォルダ更...
-
ディレクトリ名変更してコピー...
-
(C#)フォルダを指定するダイ...
-
VB6で7-ZIPのAPIを使用した圧縮...
-
VBプロジェクトでのフォルダ構...
-
パス名に2バイト文字(マルチバ...
-
Debug フォルダは消していいの?
-
フォルダにリンクを貼りたい
-
フォルダAから1つのファイルだ...
おすすめ情報