在我的 Windows 电脑上,我有一个包含几个 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 的Application.FileSearch已弃用,因此FileSystemObject
方法更好