Excel 如何删除目录中所有csv文件中的数字列

Excel 如何删除目录中所有csv文件中的数字列,excel,csv,command-line,command,Excel,Csv,Command Line,Command,我在一个目录中有大量的csv,所有这些我只需要保留前6列并删除其余的 在命令行中是否有可能实现此过程的自动化?我在网上查过,但我有限的知识可能不允许我有效地查询谷歌 谢谢,, 亲切问候试一试-这将浏览指定位置的所有csv文件,并清除前6列以外的所有内容: Sub ParseCSVFiles() Dim strfile As String, dirtosearch As String Dim csvfile As Workbook 'Modify this directory location

我在一个目录中有大量的csv,所有这些我只需要保留前6列并删除其余的

在命令行中是否有可能实现此过程的自动化?我在网上查过,但我有限的知识可能不允许我有效地查询谷歌

谢谢,,
亲切问候

试一试-这将浏览指定位置的所有csv文件,并清除前6列以外的所有内容:

Sub ParseCSVFiles()

Dim strfile As String, dirtosearch As String
Dim csvfile As Workbook

'Modify this directory location as needed
mydir = "C:\Users\Username\Desktop\TestDirectory\"

strfile = Dir(mydir & "*csv*")

Do While Len(strfile) > 0
    Set csvfile = Workbooks.Open(mydir & strfile)
    csvfile.Sheets(1).Range("G1:XFD1048576").ClearContents
    csvfile.Close True
    Set csvfile = Nothing
    strfile = Dir
Loop

End Sub

当然-在运行这样的代码时要小心-确保这是您想要做的,因为在运行这样的代码之后,您将无法撤消所做的更改。我建议像上面那样在测试目录上运行此命令。

您可以考虑使用cut,但如果您的CSV文件使用双引号之类的东西在字段中包含逗号,则需要一个CSV解析器,例如。您可以使用VBA-循环遍历目录中的所有文件,打开文件,删除E列右侧的所有内容,保存并关闭。嗨,如果这是一个noob问题,我很抱歉,但是我如何运行代码?