0

提供された VBscript を編集しましたが、結果を生成できませんでした。2 つのフォルダー パス C: (同じタイプ ファイル: Text Document/Microsoft Excel 2003 など) とファイルの名前 (AB01、DE02 など) を、ファイル サイズ (kb) のテキスト ファイルに抽出する必要があります。VBscript を実行すると、次のように表示されます

行:16、文字:29、エラー: 予期された')'</p>

以下はスクリプトです。

Sub Tester()

    Dim ObjOutFile

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


    ListFiles ObjOutFile, "C:\Users\User\Desktop\Folder A", "Microsoft Office Word 97 - 2003 Document"

    ListFiles ObjOutFile, "C:\Users\User\Desktop\Folder A", "Microsoft Office Word 97 - 2003 Document"


    ObjOutFile.Close

End Sub


Sub ListFiles(f, folderPath, fileType)
    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

1

あなたが観察したエラーは、プロシージャの署名が原因ですListFiles。VBScript では、すべての変数/パラメーターが typeVariantであるため、型を明示的に指定してはなりません。これを変える:

Sub ListFiles(f, folderPath As String, fileType As String)

これに:

Sub ListFiles(f, folderPath, fileType)
于 2013-09-08T10:14:56.603 に答える