循环浏览文件夹并将所有txt文件保存为Excel文件(特定格式)
我想将.txt文件从文件夹导入Excel,并将其另存为Excel文件 代码不完整,但文件夹部件的循环在这两种情况下都不起作用 它曾经工作过一次,但一次打开的文件夹太多而冻结。我不得不在没有保存的情况下退出这个程序,从那以后它就不起作用了 以下是第一个代码:循环浏览文件夹并将所有txt文件保存为Excel文件(特定格式),excel,vba,scripting,filesystemobject,Excel,Vba,Scripting,Filesystemobject,我想将.txt文件从文件夹导入Excel,并将其另存为Excel文件 代码不完整,但文件夹部件的循环在这两种情况下都不起作用 它曾经工作过一次,但一次打开的文件夹太多而冻结。我不得不在没有保存的情况下退出这个程序,从那以后它就不起作用了 以下是第一个代码: Sub getDataFromWbs() Dim wb As Workbook, ws As Worksheet Set fso = CreateObject(“Scripting.FileSystemObject”) Set fldr
Sub getDataFromWbs()
Dim wb As Workbook, ws As Worksheet
Set fso = CreateObject(“Scripting.FileSystemObject”)
Set fldr = fso.GetFolder("E:\MA\05_Sensordaten\Test\TEST2\")
For Each wbFile In fldr.Files
If fso.GetExtensionName(wbFile.Name) = “.txt” Then
Set wb = Workbooks.Open(wbFile.Path)
wb.Close
End If
Next wbFile
End Sub
使用Set fso=CreateObject(“Scripting.FileSystemObject”)
运行时错误424必要的对象 我还尝试了
dir
方法:
Sub LoopImport2()
'Loop through all files in a folder
Dim FN As Variant
Application.ScreenUpdating = False
FN = Dir("E:\MA\05_Sensordaten\Test\TEST2\*.txt")
While FN <> ""
'Insert the actions to be performed on each file
Workbooks.OpenText Filename = FN, Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1)), DecimalSeparator:=",", TrailingMinusNumbers:=True
ActiveSheet.Name = FN
ActiveSheet.Cells.NumberFormat = "0.00"
'Set the FN to the next file
FN = Dir
Wend
End Sub
在第一个代码中,请尝试:
Dim fso As Object
和“Scripting.FileSystemObject”
看起来有奇怪的双引号字符。尝试使用“Scripting.FileSystemObject”
在第二个选项中,请将
Filename=FN
更改为Filename:=FN
谢谢您的快速回答!丹尼尔·戈林格:如果它解决了你的问题,勾选“代码左侧”复选框将使答案被接受。这样,有人寻找类似的东西,就会知道它是有效的。。。
Workbooks.OpenText Filename = FN, Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1)), DecimalSeparator:=",", TrailingMinusNumbers:=True