需要自动将CSV文件转换为XLS。 CSV文件(包含文本限定符)将自动从SFTP站点下载并推送到固定宽度文件以进行AS400集成。客户目前有人手动登录SFTP站点,下载文件,在Excel中打开并保存为XLS。他们无法控制原始格式或命名,因此无论文件名和/或文件数如何,脚本都必须能够转换文件。我希望自动化手动过程或删除文本限定符,以帮助管理列映射差异。任何建议将不胜感激!
客户使用SSIS作为他们的开发工具。如果帖子不清楚,我道歉。我是新手谢谢!
答案 0 :(得分: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
更改为保存这些下载内容的文件路径。