0

フォルダ C: からすべてのファイルを抽出してテキスト ファイルに変換する Visual Basic スクリプトを作成しました。これは1つのフォルダーパスでのみ機能し、2つのパスを作成できません。私のテキスト ファイルには、フォルダー C: のファイル サイズのすべてのファイルも含まれていますが、フォルダー C: の "Outlook アイテム" だけをテキストに抽出する必要があります。以下のスクリプトをご覧ください。

Sub Tester()

Dim ObjOutFile

    Set ObjOutFile = CreateObject("Scripting.FileSystemObject"). _
                     CreateTextFile("D:\Users\User\Desktop\outcome.txt")

    ListFiles ObjOutFile, "D:\MOV1", "Outlook Item"
    ListFiles ObjOutFile, "D:\MOV2", "Outlook Item"

    ObjOutFile.Close

End Sub


Sub ListFiles(f, folderPath As String, fileType As String)
Dim ObjFiles, ObjFile, sz

    fileType = UCase(fileType)
    Set ObjFiles = CreateObject("Scripting.FileSystemObject") _
                                .getfolder(folderPath).Files

    For Each ObjFile In ObjFiles
        If UCase(ObjFile.Type) = fileType Then
            sz = Round(ObjFile.Size / 1024, 2)
            f.WriteLine sz & String(50 - Len(sz), " ") & ObjFile.Path
        End If
    Next

End Sub
4

1 に答える 1

0
Sub Tester()

Dim ObjOutFile

    Set ObjOutFile = CreateObject("Scripting.FileSystemObject"). _
                     CreateTextFile("C:\Users\User\Desktop\outcome")

    ListFiles ObjOutFile, "C:\Users\User\Desktop\Folder A", "Outlook Item"
    ListFiles ObjOutFile, "C:\Users\User\Desktop\Folder B", "Outlook Item"

    ObjOutFile.Close

End Sub


Sub ListFiles(f, folderPath As String, fileType As String)
Dim ObjFiles, ObjFile, sz

    fileType = UCase(fileType)
    Set ObjFiles = CreateObject("Scripting.FileSystemObject") _
                                .getfolder(folderPath).Files

    For Each ObjFile In ObjFiles
        If UCase(ObjFile.Type) = fileType Then
            sz = Round(ObjFile.Size / 1024, 2)
            f.WriteLine sz & String(50 - Len(sz), " ") & ObjFile.Path
        End If
    Next

End Sub
于 2013-09-06T16:18:04.427 に答える