Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.12.2008, 17:05   #1
Юнлинг
Форумчанин
 
Регистрация: 17.10.2008
Сообщений: 239
По умолчанию Закрытие Excel (не знаю что ей не нравиться) из VBA

Уважаемые господа!

В программе написанной в VBA последнии в последних строчках кода я хотел сделать чтобы автоматически информация сохранялась на диске, стерался код и закрывался Excel.
nload UserForm1
ActiveWorkbook.SaveAs Filename:= _
"T:\MIHKPD\tb " + Trim(Str(Month(nat_den))) + " " + Trim(Str(Year(nat_den))) + ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
For Each iVBComponent In ThisWorkbook.VBProject.VBComponents
With iVBComponent
Select Case .Type
Case 1 To 3: .Collection.Remove iVBComponent
Case 100: .Codemodule.deletelines 1, .Codemodule.countoflines
End Select
End With
Next
ActiveWorkbook.Save
Application.Quit
все работает ОК. Однако при выполнении последней строчки Excel выводит предупреждающую надпись о необходимости сохранения таблицы. После клика мыши подтверждения сохранения Excel успешно завершает работу.
Вопрос как завершить работу Excel безусловно (т.е. , без предупреждающей надписи)?

Заранее благодарен.
Юнлинг вне форума
Старый 12.12.2008, 17:47   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата из справки по VBA:
Цитата:
Quit Method

If unsaved workbooks are open when you use this method, Microsoft Excel displays a dialog box asking whether you want to save the changes. You can prevent this by saving all workbooks before using the Quit method or by setting the DisplayAlerts property to False. When this property is False, Microsoft Excel doesn’t display the dialog box when you quit with unsaved workbooks; it quits without saving them.

If you set the Saved property for a workbook to True without saving the workbook to the disk, Microsoft Excel will quit without asking you to save the workbook.
Соответственно, есть 3 варианта:

1) пример, приведённый в справке:
Код:
For Each w In Application.Workbooks
    w.Save
Next w
Application.Quit
2) без сохранения книги:
Код:
ThisWorkbook.Saved = True
Application.Quit
3) самый простой способ:
Код:
Application.DisplayAlerts = False '  запрещаем вывод предупреждений
Application.Quit
EducatedFool вне форума
Старый 15.12.2008, 07:48   #3
Юнлинг
Форумчанин
 
Регистрация: 17.10.2008
Сообщений: 239
По умолчанию

Благодарю!

Последнее время из-за пониженной скорости Internet вызов справки на работе у меня стал очень проблематичным (порой она просто не выводиться). Рассмотрю все варианты но скорее всего просто воспользуюсь третьим способом. Книгу из-за некоторых проблем сети приходиться сохраять в двух местах.
Юнлинг вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не знаю что за ошибка Droid Общие вопросы Delphi 9 24.05.2008 22:18
сайт в FireFox выглядит на 5+ , а вот в Explorer как не знаю что Мышь в полоску HTML и CSS 4 24.10.2007 18:43