2012-06-27 3 views
10

Я пишу программу VBA, которая преобразует .xls файлов в файлы .csv. Проблема заключается в том, что появляется диалоговое окно "Do you want to save the changes to myFile.csv?".VBA workbooks.Close без запроса, если пользователь хочет сохранить?

Вот отрывок из моего кода:

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

Что мне нужно добавить, так что я не получаю «? Вы хотите, чтобы сохранить изменения в myFile.csv Do» Диалоговое окно?

+1

Это точная копия [Как предотвратить сохранить MessageBox строки в Excel-VBA?] (http://stackoverflow.com/questions/6824816/how-to-avert-the-save-messagebox-prompt-in-excel-vba) и поэтому должен быть закрыт. –

+1

@ Jean-FrançoisCorbett, метод в этом посте не работает для меня. – power

+0

Почему вы не пытаетесь «DoCmd.SetWarnings False» – VBwhatnow

ответ

11

Попробуйте использовать 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

Это то, что я сделал в прошлом, и это работает для меня:

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

Вы также можете попробовать положить Закрывать перед DisplayAlerts сбрасывается верно ...

+0

@ Jean-FrançoisCorbett True, за исключением того, что мой ответ был опубликован до Алистера Вейра. Я имел в виду аналогичный ответ, который с тех пор был удален. – Dan

+3

Вы подразумеваете, что не можете видеть будущее? Нет, серьезно, набрал, мои извинения! –

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

Почему это поддерживается? это не отвечает на вопрос, это только ответ кода и не удается скомпилировать ... я не понимаю –

Смежные вопросы