2013-07-03 40 views
0

我有一个文件夹中有几个csv文件,但有时会有一个xlsx文件。在我的Windows PC上将几个xlsx转换为csv

后来我想将所有的csv文件复制到一个,以便我可以将它加载到数据库中。 但为此,我需要将xlsx文件转换为csv。我不想单独打开所有。有没有办法自动做到这一点?我试图在Excel中创建宏,但我不知道如何将其应用于所有xlsx文件。

感谢您的帮助!

+1

,你可以看看这个:[StackOverflow上:代码换循环贯通的全excel-文件功能于一个指定的文件夹(http://stackoverflow.com/questions/5851531/code-for-looping-through-all-excel-files-in-a-specified-folder-and-pulling-data )并修改代码以仅打开具有'xlsx'扩展名的文件 –

+0

我检查了出来..这是一个很好的提示,即使我没有得到它的工作;)如果你想创建一个答案,我可以投票它。 – cruxi

+0

完成(FSO是要走的路),谢谢! –

回答

1

尝试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方法更好

+0

谢谢你给我的提示! – cruxi