【问题标题】:Getting error on .FoundFiles.count in file search在文件搜索中出现 .FoundFiles.count 错误
【发布时间】:2013-04-15 17:58:42
【问题描述】:

我正在尝试使用以下代码(从本网站复制)。但是当我到达 .FoundFiles.count 时,我收到一个错误“对象变量或未设置块变量”。我已经搜索了几个小时来解决这个问题。我想知道是否有人可以解释。谢谢。

Sub RunCodeOnAllXLSFiles()
Dim lCount As Long
Dim wbResults As Workbook
Dim wbCodeBook As Workbook


Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False

On Error Resume Next
    Set wbCodeBook = ThisWorkbook
        With Application.FileSearch
            .NewSearch
            'Change path to suit
            .LookIn = "C:\MyDocuments\TestResults"
            .FileType = msoFileTypeExcelWorkbooks
            'Optional filter with wildcard
            '.Filename = "Book*.xls"
                If .Execute > 0 Then 'Workbooks in folder
                    For lCount = 1 To .FoundFiles.Count 'Loop through all
                        'Open Workbook x and Set a Workbook variable to it
                        Set wbResults = Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)

                        'DO YOUR CODE HERE
                         wbResults.Worksheets("Sheet1").Range("B7").NumberFormat = "YYYY.MM.DD"
                        wbResults.Close SaveChanges:=True
                    Next lCount
                End If
        End With
On Error GoTo 0
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub

【问题讨论】:

  • 您使用的是哪个版本的 XL? Application.FileSearch 在 2007 年及以上版本中不受支持。
  • 我用的是 2010。所以这就是原因。
  • 是的。请参阅下面发布的答案。试试Dir 函数。结合一些逻辑,你会得到你想要的。

标签: excel vba


【解决方案1】:

Application.FileSearch 在 Excel 2007 中显然已被弃用;快速搜索产生了一些替代方案,例如this one。 更多的挖掘也会出现其他解决方案。

【讨论】:

  • + 1 是的,它不适用于 xl2007+
猜你喜欢
  • 1970-01-01
  • 2020-07-24
  • 2015-01-18
  • 2020-07-09
  • 2017-06-16
  • 2016-02-26
  • 1970-01-01
  • 1970-01-01
  • 2012-01-28
相关资源
最近更新 更多