【发布时间】:2018-02-05 18:06:29
【问题描述】:
需要帮助找出我的代码不循环的原因 我的文件夹。它一遍又一遍地循环同一个文本文件。当我 中断并运行代码,似乎下一个文件在行 是正确的,但它会打开以前的文件。
Sub MikesMacro()
Dim strFile As String
Dim intNumberOfFiles As Integer
Dim wbText As Excel.Workbook
Dim path As String
path = "C:\Users\MStarks\Desktop\Cincy Data Edits\PULSE IMPORTS\"
strFile = Dir(path & "*.TXT")
Do While Len(strFile) <> ""
Workbooks.OpenText Filename:=(path & "*.TXT") _
, DataType:=xlDelimited, Tab:=True, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1))
Set wbText = ActiveWorkbook
'Starts the macro used to set up format the Telog likes
'Macro not included
'start save as .CSV cycle
strFile = Dir
Loop
End Sub
【问题讨论】:
-
Filename:=(path & "*.TXT")在 while 循环中,并且路径的值永远不会被更新。请改用strFile。我什至想知道公开声明是否有效。 -
还可以考虑使用indenter 以使您的代码更易于遵循。
-
需要从
Filename:=(path & "*.TXT")中删除.TXT 并添加到路径和strFile。所以最终的代码是Filename:=(path & strFile)。
标签: excel vba csv export-to-csv do-while