【发布时间】: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函数。结合一些逻辑,你会得到你想要的。