2012-06-27 15 views
10

Piszę program VBA, który konwertuje pliki .xls na pliki .csv. Problem polega na tym, że pojawia się okno dialogowe "Do you want to save the changes to myFile.csv?".Skoroszyt VBA. Zamknij bez pytania, czy użytkownik chce zapisać?

Oto fragment mojego kodu:

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

Co muszę dodać, tak aby nie dostać „Czy chcesz zapisać zmiany do myFile.csv” Okno dialogowe?

+1

to jest dokładną kopią [Jak uniknąć monit MessageBox zapisać w programie Excel-VBA?] (http://stackoverflow.com/questions/6824816/how-to-avert-the-save-messagebox-prompt-in-excel-vba) i dlatego powinno zostać zamknięte. –

+1

@ Jean-FrançoisCorbett, metoda w tym poście nie działa dla mnie. – power

+0

Dlaczego nie próbujesz "DoCmd.SetWarnings False" – VBwhatnow

Odpowiedz

11

Spróbuj użyć ThisWorkbook.Saved = True

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

To, co zrobiłem w przeszłości i to pracował dla mnie:

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

Można również spróbować umieścić Close przed DisplayAlerts przywrócona prawda ...

+0

@ Jean-FrançoisCorbett True, z tym że moja odpowiedź została wysłana przed Alistair Weir. Odniosłem się do podobnej odpowiedzi, która została usunięta. – Dan

+3

Czy sugerujesz, że nie widzisz przyszłości? Nie, poważnie, punkt wzięty, moje przeprosiny! –

1
Set XC = NTSGetExcell(True) 
XC.Visible = True 
XC.Application.DisplayAlerts = False 
XC.IgnoreRemoteRequests = True 
XC.ActiveWindow.Close False 
XC.Quit 
Set XC = Nothing 
+1

dlaczego to jest wznawiane? to nie odpowiada na pytanie, jest to odpowiedź tylko kodu i nie kompiluje ... nie rozumiem –

Powiązane problemy