dim arr()
dim wb as workbook
arr = application.getOpenFileName("Excel文件,*.xls*",2,,,true) ‘ *.xls*表示打开的文件格式为xls*,true表示可以多选
if arr (1) <>"False" then
for i = Lbound(arr) to Ubound(arr) 'Lbound和Ubound分表表示数组的上标和下标
set wb = workbooks.open(arr(i))
......
...... '写需要对打开工作簿的 *** 作
wb.close
next
end if
end sub
以下是使用宏录制的方法获得的代码:
Sub 宏2()'我是使用excel打开的一个D:\test\1.txt
ChDir "D:\test"
Workbooks.OpenText Filename:="D:\test\1.txt", Origin:=936, StartRow:=1, _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter _
:=False, Tab:=False, Semicolon:=False, Comma:=False, Space:=False, _
Other:=True, OtherChar:="、", FieldInfo:=Array(1, 1), TrailingMinusNumbers _
:=True
Windows("工作簿1").Activate
End Sub
更为简洁的是直接这样:
Workbooks.OpenText Filename:="D:\test\1.txt"
注意 c:\a 目录下的文件不要太多,免得死机Sub 打开excel表格()
Dim myPath$, myFile$, AK As Workbook
Application.ScreenUpdating = False '冻结屏幕,以防屏幕抖动
myPath = "c:\a\" '把文件路径定义给变量
myFile = Dir(myPath &"*.xls") '依次找寻指定路径中的*.xls文件
Do While myFile <>"" '当指定路径中有文件时进行循环
If myFile <>ThisWorkbook.Name Then
Set AK = Workbooks.Open(myPath &myFile) '打开符合要求的文件
End If
myFile = Dir '找寻下一个*.xls文件
Loop
Application.ScreenUpdating = True '冻结屏幕,此类语句一般成对使用
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)