我在允许选择的文件类型(.dat文件)中添加了一个过滤器但是我发现如果文件夹中存在zip文件,则脚本无法正常工作,因为它还会打开zip文件。< / p>
'Specify folder where measurement files are stored
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then
MyFolder = .SelectedItems(1)
Else
Exit Sub
End If
End With
Sheet8.Columns.ClearContents
sFile_Name = Dir(MyFolder & "\*.dat*")
Do While sFile_Name <> ""
Set wsData_Sheet = Sheet5
j = wsData_Sheet.Cells(1, Columns.Count).End(xlToLeft).Column
jn = j + 1
lcl = Sheet8.Cells(2, Columns.Count).End(xlToLeft).Column
lclp = lcl + 1
Call PARSE_MDF(MyFolder & "\" & sFile_Name, jn, sEND, lclp)
sFile_Name = Dir()
Loop
如何排除zip文件并将其限制为仅限.dat文件?
答案 0 :(得分:1)
我猜测你的zip文件也可能在其中的某个地方包含字符串.dat
(例如file.dat.zip
),因为这个片段:
sFile_Name = Dir(MyFolder & "\*.dat*")
' note this bit ^
将为您提供包含 .dat
的所有文件,而不是.dat
中所有结尾的文件。
如果您只想要后者,请尝试:
sFile_Name = Dir(MyFolder & "\*.dat")
(没有最终*
)。