2015-09-18 80 views
0

我在线发现此代码段将我的.xls文件转换为.xlsx文件。将.xls转换为.xlsx的代码

Sub ProcessFiles() 
Dim Filename, Pathname, SaveFileName As String 
Dim wb As Workbook 

Pathname = "C:\Users\user\Desktop\test\" 
Filename = Dir(Pathname & "*.xls") 
Application.DisplayAlerts = True 

Do While Filename <> "" 
    Set wb = Workbooks.Open(Pathname & Filename) 
    wb.CheckCompatibility = True 
    saveFileName = Replace(Filename, ".xls", ".xlsx") 

    wb.SaveAs Filename:=saveFileName 

    wb.Close SaveChanges:=True 
    Filename = Dir() 
Loop 
Application.DisplayAlerts = True 
End Sub 

当我运行这个它正确地创建备份,但是当涉及到保存文件时,它显示TEST.XLS已经存在的文件夹中的消息,但我希望它被保存为。 xlsx,如替换函数中所示。

代码有什么问题?

+0

而不是做一个网络连接nd /替换路径,'wb.SaveAs Filename:= saveFileName,FileFormat:= xlOpenXMLWorkbook'工作?或者两者的结合可能? – Soulfire

+0

@Soulfire我已经试过并且只有fileformat函数,但我仍然得到相同的消息 – Orynuh

回答

1

更换

wb.SaveAs Filename:=saveFileName 

wb.SaveAs Filename:=saveFileName, FileFormat:=xlOpenXMLWorkbook 

并更换

wb.Close SaveChanges:=True 

wb.Close SaveChanges:=False