2013-07-29 136 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的帖子为此目的而工作。再次感谢! –