locked
How to get length of audio file using VBS RRS feed

  • Question

  • Hi All,
    I have a vbs code using this code i am able to get Path, Name, Size (kb), Type, Date Created, Date Last Accessed and Date Laste Modified data from a folder having audio files but i am not able to get Length of each audio files i have try-strFileSize = objFile.Length but i am getting error Object doesn't support this property or method: 'objFile.Length' please help me to correct this code.
    Regrads

    What I have tried:

    Dim objFSO, startFolder, OlderThanDate
    'Flags for files
    Const ForReading = 1
    Const ForWriting = 2
    Const ForAppending = 8
    ' Flags for browse dialog
    Const BIF_returnonlyfsdirs   = &H0001
    Const BIF_dontgobelowdomain  = &H0002
    Const BIF_statustext         = &H0004
    Const BIF_returnfsancestors  = &H0008
    Const BIF_editbox            = &H0010
    Const BIF_validate           = &H0020
    Const BIF_browseforcomputer  = &H1000
    Const BIF_browseforprinter   = &H2000
    Const BIF_browseincludefiles = &H4000
    currentScriptPath = Replace(WScript.ScriptFullName, WScript.ScriptName, "") 
    reportFile = currentScriptPath & "FilePropertiesReport.csv"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objDlg = WScript.CreateObject("Shell.Application")
    Set objShell = CreateObject("WScript.Shell")
    ' Use the BrowseForFolder method.
    Set objStartFolder = objDlg.BrowseForFolder (&H0, _
     "Select the folder you want to report on, su folder will also be reported", BIF_editbox + BIF_returnonlyfsdirs)
    ' Here we use TypeName to detect the result.
    If InStr(1, TypeName(objStartFolder), "Folder") > 0 Then
    	startFolder = objStartFolder.ParentFolder.ParseName(objStartFolder.Title).Path
    	'Create report file and add CSV Header
    	Set objReportFile = objFSO.CreateTextFile(reportfile, ForWriting)
    	objReportFile.Write("Path, Name, Size (kb), Type, Date Created, Date Last Accessed, Date Laste Modified,Length"  & chr(13) & chr(10))
    	'Run the function
    	ReportFiles startFolder
    	'Close the report
    	objReportFile.Close
    	'Ask to open the report now or just close
    	strMbox = MsgBox("Reporting Complete. " & chr(13) & chr(10) &"The report has been saved to: " & reportFile & chr(13) & chr(10) & chr(13) & chr(10) & "Would you like to open the report now?",4,"Open report now?")
    	if strMbox = 6 Then
    		objShell.Run reportFile
    	End if
    Else
    	MsgBox "An error has occured."
    End if
    
    '----------------------------------------------
    ' Function
    '----------------------------------------------
    Function ReportFiles(folderName)
       Dim objFolder, objFile, fileCollection, folderCollection, subFolder
       Set objFolder = objFSO.GetFolder(folderName)
       Set fileCollection = objFolder.Files
       For Each objFile In fileCollection
    		strFilePath = chr(34) & objFile.Path & chr(34)
    		strFileName = chr(34) & objFile.Name & chr(34)
    		strFileSize = objFile.Size / 1024
    		strFileType = chr(34) & objFile.Type & chr(34)
    		strFileDateCreated = objFile.DateCreated
    		strFileDateLastAccessed = objFile.DateLastAccessed
    		strFileDateLastModified = objFile.DateLastModified
                    strFileLength = objFile.Length
    		objReportFile.Write(strFilePath & "," & strFileName & "," & strFileSize & "," & strFileType & "," & strFileDateCreated & "," & strFileDateLastAccessed & "," & strFileDateLastModified & "," & strFileLength & chr(10))
       Next
    	'Loop for each sub folder
        Set folderCollection = objFolder.SubFolders
        For Each subFolder In folderCollection
           ReportFiles subFolder.Path
        Next
    End Function

    • Moved by Bill_Stewart Monday, April 30, 2018 9:07 PM This is not "scripts on demand"
    Friday, February 16, 2018 5:51 AM