Excel 将两个xlsx转换为csv

Excel 将两个xlsx转换为csv,excel,csv,vba,Excel,Csv,Vba,在我的windows pc上,我有一个包含两个csv文件的文件夹,但有时中间有一个xlsx文件 稍后我想将所有csv文件复制到一个文件中,以便将其加载到数据库中。 但为此,我还需要将xlsx文件转换为csv。我不想全部分开打开。有没有一种方法可以自动完成?我试图在Excel中创建宏,但不知道如何将其应用于所有xlsx文件 谢谢你的帮助 尝试FileSystemObject方法 strPath = "C:\PATH_TO_YOUR_FOLDER" Set objExcel = CreateObj

在我的windows pc上,我有一个包含两个csv文件的文件夹,但有时中间有一个xlsx文件

稍后我想将所有csv文件复制到一个文件中,以便将其加载到数据库中。 但为此,我还需要将xlsx文件转换为csv。我不想全部分开打开。有没有一种方法可以自动完成?我试图在Excel中创建宏,但不知道如何将其应用于所有xlsx文件


谢谢你的帮助

尝试FileSystemObject方法

strPath = "C:\PATH_TO_YOUR_FOLDER"

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.DisplayAlerts = False

Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFso.GetFolder (strPath)

For Each objFile In objFolder.Files

If objFso.GetExtensionName (objFile.Path) = "xls" Then
   Set objWorkbook = objExcel.Workbooks.Open(objFile.Path)
   ' Include your code to work with the Excel object here
   objWorkbook.Close True 'Save changes
End If

Next

objExcel.Quit
这应该让你开始


请记住,在2003版之后,Excel的应用程序.FileSearch已被弃用,因此
FileSystemObject
方法更好

您可以查看以下内容:并修改代码以仅打开扩展名为
xlsx
的文件。。这是一个很好的建议,即使我没有让它发挥作用;)如果你想创建一个答案,我可以投赞成票。完成(FSO是最好的选择),谢谢!