VBA怎样在一个文件夹中依次打开所有的工作簿

我具体想知道VBA中,可不可以通过 For Each In .......next.所以我想知道是否可以通过这种方式打开,workbooks 的上一级是什么。
如果没有直接的上一级,可不可以通过某种方式得到。
如果这种方式打不开,可以通过怎样的方式打开。
打开顺序只是按照普通的排列方式排序,依次打开一遍即可,文件的名字不确定。
谢谢大神啦

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
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-25
参考下面的代码:
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

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网