2017-05-17 115 views
0

我有一个像Excel宏关闭所有打开的工作簿

Do Until MyFileName = "" 
    Workbooks.Open Filename:=MyPath & MyFileName 
    ActiveWorkbook.SaveAs Filename:=Left(MyFileName, InStr(1, MyFileName, ".xls") - 1), FileFormat:=xlCSV, CreateBackup:=False 
    ActiveWorkbooks.CloseSaveChanges:=TRUE 
    MyFileName = Dir 
Loop 

它的做工精细的宏代码,但在转换到csv文件被打开。我想关闭文件并保存更改。请帮帮我。

回答

0

在一个变量保存新名称,并使用Workbook("name").close(true)

Dim wbName As String 

Do Until MyFileName = "" 
    Workbooks.Open Filename:=MyPath & MyFileName 
    wbName = Left(MyFileName, InStr(1, MyFileName, ".xls") - 1) 

    ActiveWorkbook.SaveAs Filename:=wbName, FileFormat:=xlCSV, CreateBackup:=False 
    Workbooks(wbName).Close (True) 
    ActiveWorkbooks.Close SaveChanges:=True 
    MyFileName = Dir 
Loop 
End Sub 
相关问题