2017-05-17 152 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 
相關問題