Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Корректное закрытие файлов - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Корректное закрытие файлов (Макросы/Sub)
Корректное закрытие файлов
pabchek Дата: Пятница, 16.09.2016, 11:11 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 145 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте, уважаемые!
Макросом по очереди создаю файлы, произвожу некие действия и, соответственно, сохраняю их, отсылаю адресатам и пытаюсь закрыть. Дык вот, пока не закрываю, все ОК. Но, как только закрываю, действие макроса заканчивается.
[vba]
Код
Application.DisplayAlerts = 0
    Workbooks(имя_файла).Close True
Application.DisplayAlerts = 1
[/vba]
Я осознаю, что нужно как-то передать очередь выполнения макроса дальше, но моих знаний не хватает. Подскажите, плз в какую сторону думать!
Подробности в файле.
К сообщению приложен файл: __.xlsb(17Kb)


"Учиться, учиться и еще раз учиться!"
WM: R399923528092
 
Ответить
СообщениеЗдравствуйте, уважаемые!
Макросом по очереди создаю файлы, произвожу некие действия и, соответственно, сохраняю их, отсылаю адресатам и пытаюсь закрыть. Дык вот, пока не закрываю, все ОК. Но, как только закрываю, действие макроса заканчивается.
[vba]
Код
Application.DisplayAlerts = 0
    Workbooks(имя_файла).Close True
Application.DisplayAlerts = 1
[/vba]
Я осознаю, что нужно как-то передать очередь выполнения макроса дальше, но моих знаний не хватает. Подскажите, плз в какую сторону думать!
Подробности в файле.

Автор - pabchek
Дата добавления - 16.09.2016 в 11:11
_Boroda_ Дата: Пятница, 16.09.2016, 11:41 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9348
Репутация: 3922 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Виктор, строкой
[vba]
Код
ActiveWorkbook.SaveAs общ_ф, FileFormat:=51
[/vba]ты сохраняешь файл как "16-09_Статистика" (выше у тебя
[vba]
Код
общ_ф = путь_ & дата_ & стат_ & расш_
[/vba]_ и дальше макрос работает от имени этого файла
А строкой
[vba]
Код
ф_закр = дата_ & стат_ & расш_
[/vba]
ты присваиваешь ф_закр такое же значение, какое присвоил выше для общ_ф (если не обращать внимание на путь)
Закрывая ф_закр, ты, фактически, закрываешь общ_ф , то есть тот файл, в котором сам макрос. Вот он и перестает работать.

И еще - у тебя к_мен текстовое, а ты сравниваешь с ним числовой номер. поставь -- перед к_мен
[vba]
Код
If номер_ > --к_мен Then
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВиктор, строкой
[vba]
Код
ActiveWorkbook.SaveAs общ_ф, FileFormat:=51
[/vba]ты сохраняешь файл как "16-09_Статистика" (выше у тебя
[vba]
Код
общ_ф = путь_ & дата_ & стат_ & расш_
[/vba]_ и дальше макрос работает от имени этого файла
А строкой
[vba]
Код
ф_закр = дата_ & стат_ & расш_
[/vba]
ты присваиваешь ф_закр такое же значение, какое присвоил выше для общ_ф (если не обращать внимание на путь)
Закрывая ф_закр, ты, фактически, закрываешь общ_ф , то есть тот файл, в котором сам макрос. Вот он и перестает работать.

И еще - у тебя к_мен текстовое, а ты сравниваешь с ним числовой номер. поставь -- перед к_мен
[vba]
Код
If номер_ > --к_мен Then
[/vba]

Автор - _Boroda_
Дата добавления - 16.09.2016 в 11:41
pabchek Дата: Пятница, 16.09.2016, 11:49 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 145 ±
Замечаний: 0% ±

Excel 2007
и дальше макрос работает от имени этого файла

Угу... понятно. Буду править логику. А
к_мен текстовое
да, был невнимателен, объявил его как Long - вроде получилось


"Учиться, учиться и еще раз учиться!"
WM: R399923528092


Сообщение отредактировал pabchek - Пятница, 16.09.2016, 11:51
 
Ответить
Сообщение
и дальше макрос работает от имени этого файла

Угу... понятно. Буду править логику. А
к_мен текстовое
да, был невнимателен, объявил его как Long - вроде получилось

Автор - pabchek
Дата добавления - 16.09.2016 в 11:49
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Корректное закрытие файлов (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!