2013-07-29 134 views
-1

需要將CSV文件自動轉換爲XLS。 CSV文件(包含文本限定符)將自動從SFTP站點下載並推送到固定寬度的文件以便集成AS400。客戶目前有人手動登錄到SFTP站點,下載文件,在Excel中打開並另存爲XLS。他們無法控制原始格式或命名,因此腳本必須能夠轉換文件,而不管文件名和/或文件數。我期望自動執行手動過程或刪除文本限定符以幫助管理列映射差異。任何建議將不勝感激!將CSV轉換爲XLS的腳本

客戶使用SSIS作爲他們的開發工具。如果帖子不清楚,我很抱歉。我是新手。謝謝!

+3

您遇到哪些問題?目前這個問題太寬泛無法回答。 –

+0

與@StevenDoggart達成一致,這可能與宏觀有關,也可能像使用Excel打開CSV文件一樣簡單。 – Jaycal

+0

感謝您的快速響應。我試圖自動化進程,以便用戶不必下載並手動保存爲XLS。原始的CSV文件已經嵌入了限定詞(「),並被指示下載文件,打開每個文件,並保存爲XLS,因爲這個過程正確地分離出每一列,並可以被饋送到客戶的ERP。試圖剝離限定符,但認爲自動打開文件 –

回答

1

看起來你正在尋找的東西是這樣的:

Sub SaveAsXLSX() 

Dim wbSource As Workbook 
Dim vrtSelectedItem As Variant 

'Allows you to pick the CSV file from wherever it's been saved. 
With Application.FileDialog(msoFileDialogOpen) 
    .InitialFileName = "C:\Users\YourUsername\Documents" & "\" 
    .AllowMultiSelect = False 
    .Show 
     For Each vrtSelectedItem In .SelectedItems 
      Set wbSource = Workbooks.Open(vrtSelectedItem) 
     Next 
End With 

'Saves the file as an .xlsx file. 
wbSource.SaveAs Filename:="Random Name.xlsx", FileFormat:=51 

End Sub 

只記得到.InitialFileName改變,無論你是在救這些下載的文件路徑。

+0

想要感謝您的所有f或答覆。不勝感激。修改腳本後,ARICH的帖子爲此目的而工作。再次感謝! –