将Xlsm文件另存为xlsx

时间:2014-09-17 10:29:06

标签: excel excel-vba vba

我想将当前的xlsm文件保存为xlsx,所以我编写了如下代码。这段代码真的完成了它的工作,我能够看到保存为Myfile.xlsx的文件,就像我在代码中定义的那样,但是有一些小问题,vba总是将文件保存到另一个文件,如bookx.xlsx旁边的Myfile.xlsx。我怎么能避免这个?

Sub saveAsXlsx()
Dim myPath As String
myPath = Application.ActiveWorkbook.Path
Worksheets(Array("sheet1", "sheet2")).Copy
ActiveWorkbook.SaveCopyAs Filename:=myPath & "\Myfile.xlsx" 
End Sub

1 个答案:

答案 0 :(得分:2)

这将避免额外的副本:

Sub saveAsXlsx()
    Dim myPath As String
    myPath = Application.ActiveWorkbook.Path
    Worksheets(Array("sheet1", "sheet2")).Copy
    ActiveWorkbook.SaveAs Filename:=myPath & "\Myfile.xlsx"
    ActiveWorkbook.Close
End Sub

由于您已经创建了第一个副本,因此使用 SaveAs 而不是 SaveCopyAs