एक फ़ोल्डर में फ़ाइलों के नाम स्टोर करने के लिए एक कार्यात्मक सरणी बनाना


0

मैं एक कार्यात्मक सरणी बनाना चाहता हूं जो सभी फ़ाइल के नाम को पर्टिकुलर फ़ोल्डर में संग्रहीत करता है

यह मैंने कोशिश की है ..

Function number_of_file(i As Integer) As Variant

Dim file_object As Object
Dim files_in_folder() As Variant

Set file_object = CreateObject("scripting.filesystemobject").getfolder("D:\ls")

i = 0
For Each obj In file_object.Files
ReDim files_in_folder(i)
    files_in_folder(i) = obj.Name
    i = i + 1
Next obj

number_of_files = files_in_folder
End Function


sub test()
files_in_folder(2)
end sub

जवाबों:


1

यह फ़ाइल नामों का सरणी प्राप्त करेगा और स्तंभ A में उस सरणी को संग्रहीत भी करेगा :

Sub MAIN()
   Dim FolderOfInterest As String, i As Long
   FolderOfInterest = "C:\TestFolder"
   Dim ary()
   ary = files_in_folder(FolderOfInterest)
   MsgBox "There are " & UBound(ary) & " files in folder " & FolderOfInterest
   '
   '  Now store the array in a worksheet column
   '
   i = 1
   For Each a In ary
      Cells(i, "A").Value = a
      i = i + 1
   Next a
End Sub

Public Function files_in_folder(folderS As String) As Variant
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set folder = fso.GetFolder(folderS)
   ReDim temp(1 To folder.Files.Count)

   i = 1
   For Each file In folder.Files
      temp(i) = file.Name
      i = i + 1
   Next file

   files_in_folder = temp
End Function

ध्यान दें:

फ़ंक्शन स्ट्रिंग्स की एक सरणी देता है, (एक आधारित) । फ़ाइलों की संख्या तब उस सरणी का ऊपरी भाग होती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.