2013-07-03 68 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