将Xlsm文件另存为xlsx

我想将当前的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 

这将避免额外的副本:

 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,因为您已经创build了第一个副本。