power
power

Reputation: 1760

VBA workbooks.Close without being prompted to if the user wants to save?

I am writing a VBA program that converts .xls files into .csv files. The problem is that is brings up the "Do you want to save the changes to myFile.csv?" Dialog box.

Here is a snippet of my code:

currentBook.SaveAs Filename:=fileNameS, FileFormat:=xlCSV, ConflictResolution:=xlLocalSessionChanges    
currentBook.Close SaveChanges:=False

What do I need to add so that I don't get the "Do you want to save the changes to myFile.csv?" Dialog box?

Upvotes: 17

Views: 93830

Answers (2)

Alistair Weir
Alistair Weir

Reputation: 1849

Try using ThisWorkbook.Saved = True

        Application.DisplayAlerts = False
        currentBook.SaveAs Filename:=fileNameS, FileFormat:=xlCSV, ConflictResolution:=xlLocalSessionChanges
        currentBook.Saved = True            
        currentBook.Close SaveChanges:=False
        Application.DisplayAlerts = True

Upvotes: 19

Dan
Dan

Reputation: 45762

This is what I have done in the past and it's worked for me:

Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=fileNameS, FileFormat:=xlCSV, conflictResolution:=xlLocalSessionChanges
Application.DisplayAlerts = True
ActiveWorkbook.Close False

You can also try putting the Close before the DisplayAlerts is reset to true...

Upvotes: 2

Related Questions