2016-05-10 4 views
1

数日から、vbaまたはvbsコードを検索して、特定のディレクトリーにUS-またはIS-を含むすべてのフォルダーをリストしました。 これまでのところ、すべてのドキュメントを一覧表示するが、フォルダ名は表示しない以下のコードがあります。フォルダー名を含むフォルダーをUS-とIS- vbaとして見つけます

'Force the explicit declaration of variables 
Option Explicit 
Sub Get_File_Name() 
Dim objFSO As Object 
Dim SearchString As String 
Dim TestPos As Integer 

Dim objFolder As Object 
Dim objSubFolder As Object 
Dim i As Integer 
'Create an instance of the FileSystemObject 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
'Get the folder object 
Set objFolder = objFSO.GetFolder("C:\Working Documents\Client\OPTICS\") 
i = 1 
For Each objSubFolder In objFolder.SubFolders 
If InStr(1, objSubFolder.Name, "US-", vbTextCompare) > 0 Or InStr(1, objSubFolder.Name, "IS-", vbTextCompare) > 0 Then 
    'print folder name 
    Cells(i + 1, 1) = objSubFolder.Name 
    'print folder path 
    Cells(i + 1, 2) = objSubFolder.Path 
    i = i + 1 
Else 
End If 
Next objSubFolder 
End Sub 

すべてのヘルプは本当に感謝しています。

答えて

1

は、ファイル名がUS-またはIS-が含まれているかどうかを確認するためにFor Eachループ内の簡単なInStr()を使用します。

If InStr(1, objSubFolder.Name, "US-", vbTextCompare) > 0 Or InStr(1, objSubFolder.Name, "IS-", vbTextCompare) > 0 
+0

そここんにちは、あなたの助けのおかげで...私はわからないコードを与えている理由私はランタイムエラーです。 –

+0

正確にはどのようなエラーを出すのですか?コードをコピーして問題なく実行しました。 – gizlmo

+0

i = 1 各objSubFolderのobjFolder.SubFolders InStr(1、objSubFolder.Name、 "US-"、vbTextCompare)> 0またはInStr(1、objSubFolder.Name、 "IS-"、vbTextCompare)> 0そして '印刷フォルダ名 細胞(I + 1、1)= objSubFolder.Name ' プリントフォルダパス 細胞(I + 1、2)= objSubFolder.Path I = I + 1 Else 終了の場合 –

関連する問題