Sub 打开()
Dim myPath$, myFile$, AK As Workbook
Application.ScreenUpdating = False '冻结屏幕,以防屏幕抖动
myPath = "c:\a\" '在这里输入你的路径,即你存放工作簿的文件夹
myFile = Dir(myPath & "*.xlsx") '依次找寻指定路径中的*.xlsx文件
Do While myFile <> "" '当指定路径中有文件时进行循环
If myFile <> ThisWorkbook.Name Then
Set AK = Workbooks.Open(myPath & myFile) '打开符合要求的文件
End If
'在这里插入你要处理的代码
AK.close'这里可以选择参数是否保存,你也可以删除这行代码,手动关闭文件
myFile = Dir '找寻下一个*.xlsx文件
Loop
Application.ScreenUpdating = True '解除冻结屏幕,此类语句一般成对使用
End Sub
参考下面的代码:
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Application.ScreenUpdating = False
If MsgBox("需要操作的数据表是:EXCEL2003 格式,请选择:是!" & Chr(13) & "" & Chr(13) & "需要操作的数据表是:EXCEL2007 格式,请选择:否!", vbYesNo, "北极狐提示!!") = vbYes Then
S = "\*.xls"
ss = 4
Else
S = "\*.xlsx"
ss = 5:
End If
F = Dir(ThisWorkbook.Path & S)
Do While F > " "
If F <> ThisWorkbook.Name Then
Set xlBook = Workbooks.Open(ThisWorkbook.Path & "\" & F) '打开已经存在的EXCEL工件簿文件
For Each sh In xlBook.Worksheets '遍历工作表
with sh
'自己的代码
end with
Windows(ThisWorkbook.Name).Activate'回到打开的工作簿
Next
Windows(F).Close (true)'关闭打开的工作簿,并保存。
F = Dir
Loop
Application.ScreenUpdating = True