[英]macro - open all files in a folder
I want to open all files in a specified folder and have the following code 我想打开指定文件夹中的所有文件并具有以下代码
Sub OpenFiles()
Dim MyFolder As String
Dim MyFile As String
MyFolder = "\\ILAFILESERVER\Public\Documents\Renewable Energy\FiTs\1 Planning
Department\Marks Tracker\Quality Control Reports"
MyFile = Dir(MyFolder & "\*.xlsx")
Do While MyFile <> ""
Workbooks.Open Filename:=MyFolder & "\" & MyFile
Loop
End Sub
The problem I have is that it just keeps trying to open the first file in the folder repeatedly and won't move on. 我遇到的问题是它只是不断尝试重复打开文件夹中的第一个文件而不会继续前进。 Can anybody help, I'm a bit of a novice at VBA and could really do with some assistance.
任何人都可以提供帮助,我在VBA有点新手,并且可以提供一些帮助。 I'm trying to open around 30 reports that are all in .xlsx format.
我正在尝试打开大约30个全部采用.xlsx格式的报告。 Many thanks in advance.
提前谢谢了。
You have to add this line just before loop
你必须在
loop
之前添加这一行
MyFile = Dir
Loop
You can use Len(StrFile) > 0
in loop check statement ! 你可以在循环检查语句中使用
Len(StrFile) > 0
!
Sub openMyfile()
Dim Source As String
Dim StrFile As String
'do not forget last backslash in source directory.
Source = "E:\Planning\03\"
StrFile = Dir(Source)
Do While Len(StrFile) > 0
Workbooks.Open Filename:=Source & StrFile
StrFile = Dir()
Loop
End Sub
Try the below code: 请尝试以下代码:
Sub opendfiles()
Dim myfile As Variant
Dim counter As Integer
Dim path As String
myfolder = "D:\temp\"
ChDir myfolder
myfile = Application.GetOpenFilename(, , , , True)
counter = 1
If IsNumeric(myfile) = True Then
MsgBox "No files selected"
End If
While counter <= UBound(myfile)
path = myfile(counter)
Workbooks.Open path
counter = counter + 1
Wend
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.