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

Вход

Регистрация

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

 

= Мир MS Excel/Сохранение копии файла с закрытием исходной книги - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение копии файла с закрытием исходной книги (Макросы/Sub)
Сохранение копии файла с закрытием исходной книги
Anis625 Дата: Четверг, 28.02.2019, 23:21 | Сообщение № 1
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Добрый вечер!

Решил решить (sory за тавтологию) задачку при помощи макрокодера:
Сохранить изменения в текущем файле (1), сохранить как этот же файл в другой папке (2) с закрытием текущего файла (3) и открыть из новой папки новый файл (4).

Учитывая, что макрокодер не записывает команду Сохранить как (или я не правильно делаю), я пошел длинным путем: записал каждое действие по отдельности + нашел в интернете отдельные макросы и вот что получилось:
[vba]
Код
Sub Макрос2()
    Range("A1").Select
    ActiveWorkbook.Save
    ActiveWorkbook.SaveCopyAs "F:\Отправка сообщений из Excel\Для отправки\Информация по картам и СоЦ (для отправки).xlsb"
    ActiveWorkbook.Close
    Workbooks.Open Filename:="F:\Отправка сообщений из Excel\Для отправки\Информация по картам и СоЦ (для отправки).xlsb"
End Sub
[/vba]

Можете закидать помидорами, по другому не умею =)

Протестировал каждый макрос по отдельности и затолкал в один макрос.

Затык макроса в моменте когда закрываю текущую книгу и пытаюсь открыть сохраненный как файл. То есть файл не открывается при закрытом файле откуда запущен макрос.

Подскажите, пожалуйста, где ошибаюсь


Сообщение отредактировал Anis625 - Пятница, 01.03.2019, 00:05
 
Ответить
СообщениеДобрый вечер!

Решил решить (sory за тавтологию) задачку при помощи макрокодера:
Сохранить изменения в текущем файле (1), сохранить как этот же файл в другой папке (2) с закрытием текущего файла (3) и открыть из новой папки новый файл (4).

Учитывая, что макрокодер не записывает команду Сохранить как (или я не правильно делаю), я пошел длинным путем: записал каждое действие по отдельности + нашел в интернете отдельные макросы и вот что получилось:
[vba]
Код
Sub Макрос2()
    Range("A1").Select
    ActiveWorkbook.Save
    ActiveWorkbook.SaveCopyAs "F:\Отправка сообщений из Excel\Для отправки\Информация по картам и СоЦ (для отправки).xlsb"
    ActiveWorkbook.Close
    Workbooks.Open Filename:="F:\Отправка сообщений из Excel\Для отправки\Информация по картам и СоЦ (для отправки).xlsb"
End Sub
[/vba]

Можете закидать помидорами, по другому не умею =)

Протестировал каждый макрос по отдельности и затолкал в один макрос.

Затык макроса в моменте когда закрываю текущую книгу и пытаюсь открыть сохраненный как файл. То есть файл не открывается при закрытом файле откуда запущен макрос.

Подскажите, пожалуйста, где ошибаюсь

Автор - Anis625
Дата добавления - 28.02.2019 в 23:21
Anis625 Дата: Четверг, 28.02.2019, 23:51 | Сообщение № 2
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Попробовал поменять местами последние две команды:

[vba]
Код
Sub Макрос2()
    Range("A1").Select
    ActiveWorkbook.Save
    ActiveWorkbook.SaveCopyAs "F:\Отправка сообщений из Excel\Для отправки\Информация по картам и СоЦ (для отправки).xlsb"
    Workbooks.Open Filename:="F:\Отправка сообщений из Excel\Для отправки\Информация по картам и СоЦ (для отправки).xlsb"
    ActiveWorkbook.Close
End Sub
[/vba]

Закрывается Сохраненная как книга, а нужно чтобы она осталась открытой, а исходный файл закрылся
 
Ответить
СообщениеПопробовал поменять местами последние две команды:

[vba]
Код
Sub Макрос2()
    Range("A1").Select
    ActiveWorkbook.Save
    ActiveWorkbook.SaveCopyAs "F:\Отправка сообщений из Excel\Для отправки\Информация по картам и СоЦ (для отправки).xlsb"
    Workbooks.Open Filename:="F:\Отправка сообщений из Excel\Для отправки\Информация по картам и СоЦ (для отправки).xlsb"
    ActiveWorkbook.Close
End Sub
[/vba]

Закрывается Сохраненная как книга, а нужно чтобы она осталась открытой, а исходный файл закрылся

Автор - Anis625
Дата добавления - 28.02.2019 в 23:51
_Boroda_ Дата: Пятница, 01.03.2019, 00:10 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
ActiveWorkbook - активный файл, а Вам нужно ThisWorkbook - тот файл, в котором находится исполняемый макрос
Но дело даже не в этом. Когда Вы пересохраняете файл в другую папку с помощью SaveAs (а не SaveCopyAs) , то это уже не тот файл, который Вы открыли первоначально, а тот, который в другой папке, сохраненный с SaveAs. Поэтому открывать его еще раз не нужно, он уже открыт. А вот тот файл, из которого Вы запускали макрос - он закрыт. Поэтому Вам нужно только 2 строки кода
[vba]
Код
Sub Макрос2()
    ActiveWorkbook.Save
    ActiveWorkbook.SaveAs "F:\Отправка сообщений из Excel\Для отправки\Информация по картам и СоЦ (для отправки).xlsb"
End Sub
[/vba]
И да, если Вы закрываете файл, в котором выполняется макрос, то этот макрос тоже закрывается и конечно прекращает свою работу


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеActiveWorkbook - активный файл, а Вам нужно ThisWorkbook - тот файл, в котором находится исполняемый макрос
Но дело даже не в этом. Когда Вы пересохраняете файл в другую папку с помощью SaveAs (а не SaveCopyAs) , то это уже не тот файл, который Вы открыли первоначально, а тот, который в другой папке, сохраненный с SaveAs. Поэтому открывать его еще раз не нужно, он уже открыт. А вот тот файл, из которого Вы запускали макрос - он закрыт. Поэтому Вам нужно только 2 строки кода
[vba]
Код
Sub Макрос2()
    ActiveWorkbook.Save
    ActiveWorkbook.SaveAs "F:\Отправка сообщений из Excel\Для отправки\Информация по картам и СоЦ (для отправки).xlsb"
End Sub
[/vba]
И да, если Вы закрываете файл, в котором выполняется макрос, то этот макрос тоже закрывается и конечно прекращает свою работу

Автор - _Boroda_
Дата добавления - 01.03.2019 в 00:10
Anis625 Дата: Пятница, 01.03.2019, 06:41 | Сообщение № 4
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
_Boroda_, благодарю Вас за помощь, получилось именно так как нужно =)

И спасибо Вам за краткий ликбез по макросам :)

Подскажите, пожалуйста, почему макрокодер не записывает команду Сохранить как? После запуска макрокодера нажимаю сохранить (через иконку), потом Файл-Сохранить как - Выбираю папку - Сохраняю - Заканчиваю запись. Макрос записывает только команду [vba]
Код
ActiveWorkbook.Save
[/vba]
 
Ответить
Сообщение_Boroda_, благодарю Вас за помощь, получилось именно так как нужно =)

И спасибо Вам за краткий ликбез по макросам :)

Подскажите, пожалуйста, почему макрокодер не записывает команду Сохранить как? После запуска макрокодера нажимаю сохранить (через иконку), потом Файл-Сохранить как - Выбираю папку - Сохраняю - Заканчиваю запись. Макрос записывает только команду [vba]
Код
ActiveWorkbook.Save
[/vba]

Автор - Anis625
Дата добавления - 01.03.2019 в 06:41
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение копии файла с закрытием исходной книги (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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