从CSV转换为XLSX并使用相同的文件名保存

时间:2017-03-23 13:36:08

标签: vba csv parsing save xlsx

我有一系列CSV文件,这些文件捆绑在一个简单命名的月份文件夹中。我已经有代码正在寻找它们,打开它们,解析它们并且我无法按照我想要的方式保存它们。我所瞄准的是保存为与新的和解析格式相同的文件名。

Sub OpenCSVs_2()
Dim MyFiles As String, ThisMonth As String, Convert As String
Dim startPath As String
ThisMonth = Format(Date, "mmmm")
startPath = "C:\Users\ME\Desktop\CSV find convert tests\" & ThisMonth & "\"
MyFiles = Dir(startPath & "*.csv")
Convert = Dir(startPath & "*xlsx")

Do While MyFiles <> ""

Workbooks.Open startPath & MyFiles

Call Parse1

ActiveWorkbook.SaveAs Filename:="startPath & Convert",      FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

MyFiles = Dir '<----------------error happens here

Loop

End Sub

以上实际上做了一些事情并创建了一个xlsm文件名&#34; startPath&amp;转换&#34 ;.我确定解决方案就在我面前。

1 个答案:

答案 0 :(得分:2)

与我之前的帖子一样,您将变量放在引号中,然后将其转换为字符串。首先,删除startPath&amp;上的引号MyFiles,然后使用Replace替换扩展名。我还添加了Workbook对象,因为它应该避免使用Activeworkbook,因为它可能会导致问题。

{{1}}