2010-06-28 107 views
4

这里是我的代码:收藏最大尺寸

Sub isdofsodjisf48023jroi23f984444444jiodfiosj12348023jroi23f98() 


Dim colFiles As New Collection 
    RecursiveDir colFiles, "C:\Documents and Settings\Alex Gordon\Desktop\testing\files\", "*.xls", True 

    Dim vFile As Variant 
    For Each vFile In colFiles 
     Call writeincells(vFile) 
    Next vFile 

End Sub 



Public Function RecursiveDir(colFiles As Collection, _ 
          strFolder As String, _ 
          strFileSpec As String, _ 
          bIncludeSubfolders As Boolean) 

    Dim strTemp As String 
    Dim colFolders As New Collection 
    Dim vFolderName As Variant 

    'Add files in strFolder matching strFileSpec to colFiles 
    strFolder = TrailingSlash(strFolder) 
    strTemp = Dir(strFolder & strFileSpec) 
    Do While strTemp <> vbNullString 
     colFiles.Add strFolder & strTemp 
     strTemp = Dir 
    Loop 

    If bIncludeSubfolders Then 
     'Fill colFolders with list of subdirectories of strFolder 
     strTemp = Dir(strFolder, vbDirectory) 
     Do While strTemp <> vbNullString 
      If (strTemp <> ".") And (strTemp <> "..") Then 
       If (GetAttr(strFolder & strTemp) And vbDirectory) <> 0 Then 
        colFolders.Add strTemp 
       End If 
      End If 
      strTemp = Dir 
     Loop 

     'Call RecursiveDir for each subfolder in colFolders 
     For Each vFolderName In colFolders 
      Call RecursiveDir(colFiles, strFolder & vFolderName, strFileSpec, True) 
     Next vFolderName 
    End If 

End Function 


Public Function TrailingSlash(strFolder As String) As String 
    If Len(strFolder) > 0 Then 
     If Right(strFolder, 1) = "\" Then 
      TrailingSlash = strFolder 
     Else 
      TrailingSlash = strFolder & "\" 
     End If 
    End If 
End Function 

我与文件名的目录结构列表填充一个集合。

我有2000个文件,但目前只有256返回有谁知道,如果有,它不会晃过最大值是多少?

如果是的话,可以请你提出一个更好的实现代码宏以便它捕获所有的2000个文件?

+0

您的代码工作完全正常,我与成千上万的文件。你确定你有权限访问该文件夹吗? – 2010-06-28 22:38:58

+2

对不起,我不得不问。你是怎么想出这个程序名称的? – 2010-06-29 14:40:23

+4

请不要问这样的难题 – 2010-06-29 16:44:55

回答

14

的代码在Excel 2007工作OK也许正在发生的事情是,你尝试观看在调试模式下集合。调试器只显示前256个项目。