Excel 将Xlsm文件另存为xlsx
我想将当前的xlsm文件保存为xlsx,因此我编写了如下代码。这段代码真的完成了它的工作,我能够看到文件保存为Myfile.xlsx,正如我在代码中定义的那样,但是有一些小问题,vba总是将文件保存到Myfile.xlsx旁边的另一个文件bookx.xlsx。我怎样才能避免这种情况Excel 将Xlsm文件另存为xlsx,excel,vba,Excel,Vba,我想将当前的xlsm文件保存为xlsx,因此我编写了如下代码。这段代码真的完成了它的工作,我能够看到文件保存为Myfile.xlsx,正如我在代码中定义的那样,但是有一些小问题,vba总是将文件保存到Myfile.xlsx旁边的另一个文件bookx.xlsx。我怎样才能避免这种情况 Sub saveAsXlsx() Dim myPath As String myPath = Application.ActiveWorkbook.Path Worksheets(Array("sheet1", "s
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。它不创建另一个文件,只打开一个同名的新工作簿(BookX.xlsx)。您只需要在脚本之后关闭该窗口。如何关闭该窗口?Activeworkbook.close False