2016-04-06 46 views
1

我正在編寫一個函數,試圖獲取上週已上傳到SharePoint目錄的所有文件的文件路徑。然後我想將文件複製到我的本地PC。VBA使用FileSystemObject獲取文件計數

我的想法是這樣的

功能1 - 獲得一個文件夾

  • 功能2需要每個文件夾列表和搜索在上週創建的每個 文件中的文件路徑並返回一組文件路徑

功能3 - 基於文件路徑陣列的文件副本

我遇到了數組問題。我想根據每個文件夾中的文件數量預先指定數組大小。我的代碼和錯誤低於

任何人都可以看到的問題

Public Function get_remoteTables(strPath As String) 

Dim objFSO As FileSystemObject 
Dim objFolder As Folder 
Dim objFiles As file 
Dim filedetails() As Variant 
Dim FileCount As Long 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFolder = objFSO.GetFolder(strPath) 

' Grab all the files in the subfolders 
For Each objSubFolder In objFolder.SubFolders 
    'print folder path 
    Debug.Print (objSubFolder.Path) 
    Set objFiles = objFSO.GetFolder(objSubFolder.Path).Files 
     If Err.Number <> 0 Then 
      FileCount = 0 
     Else 
      FileCount = objFiles.Count 
     End If 
    get_Filenames (objSubFolder.Path) 
Next objSubFolder 

End Function 

Sub test() 

Call get_remoteTables("C:\temp\ ") 

End Sub 

編譯錯誤方法或數據成員未找到:FileCount = objFiles.Count

回答

0

雖然我不是能明白爲什麼我得到錯誤,我發現一個功能online,似乎做我所需要的。我調整了功能,並將功能添加到上面的代碼中

Public Function CountFiles(xPath As String) 

Dim xCount As Long 
Dim xFile As String 

xPath = "C:\temp\HelloWorld\" 
xFile = Dir(xPath) 
Do While xFile <> "" 
    xCount = xCount + 1 
    xFile = Dir() 
Loop 
CountFiles = xCount 

End Function 
相關問題