Страницы: 1
RSS
Изменение формата файла с .xlsx на .xls макросом
 
Форумчане, здравствуйте!
Пожалуйста, помогите мне разобраться с пересохранением формата файла Excel с .xlsx на .xls

Верно ли я понимаю, что моей команде по изменению расширения в имени файла не меняет формат файла?
Код
   ActiveWorkbook.SaveAs p & "\"  & Filename1 & ".xls"  


При открытии вновь сохраненного файла у меня появляется ошибка, что расширение не соответствует формату. Я конечно могу открыть его, но этим файлом не только я буду пользоваться, и не хотелось бы чтобы сообщения такие появлялись...
 
Код
ActiveWorkbook.SaveAs p & "\" & Filename1 & ".xls", xlExcel8
Владимир
 
Владимир, спасибо большое!
 
Надеюсь Вы осознаёте риски?
 
Мне это надо для загрузки в систему. А какие могут быть риски?
 
Количество ячеек, формулы, сводные, форматы, да мало ли что...
 
Игорь, у меня файл простенький совсем, просто суммы надо на отдельный лист кинуть, и всё. Таких вещей, о которых Вы говорите, там нет. Но я буду иметь это в виду для будущих макросов, спасибо за предостережение.
 
С простой табличкой с голыми данными думаю ничего не случится.
 
Подскажите, пожалуйста, а почему в формате .xls  в сохраненном файле у меня остался макрос? Я предполагала, что файл пересохранится в другом формате без макросов. Ведь .xls - это формат, не поддерживающий макросы, почему же он там остался?
 
Цитата
suricat555 написал:
Ведь .xls - это формат, не поддерживающий макросы
- кто сказал? Всегда было наоборот, и ничего не менялось.
P.S. А вот откуда макрос в согласно теме xlsx? :)
Изменено: Hugo - 10.09.2020 20:49:59
 
Игорь, мне присылают файлы в разных форматах, и я просто вставляю туда свой макрос и на выходе хочу получить файл .xls
Я думала что только один формат поддерживает макросы, он же так и называется "....с поддержкой макросов". А расширение не помню :)
А можно как-нибудь сохранить в нужном формате, но без макроса?
Я в каждый файл заходила вручную это днлала
 
Пример 1 предполагает, что есть книга, содержащая макрос (*.xlsm, *.xlsb, ...), указанный в примере 1. Это макрос сохраняет активную книгу (другую!), имеющую формат *.xlsx,  в формате *.xls. В этом случае макросов в сохраненной книге не будет. Так?
Иначе не сходится, поскольку книга *.xlsx не может содержать макросы.
Вы может держать свой макрос пересохранения активной книги в личной книге макросов. Далее открываете присланный файл, вызываете макрос и всё OK.

Почитайте на этом сайте: Как использовать Личную Книгу Макросов
Изменено: sokol92 - 10.09.2020 21:07:41
Владимир
 
Мне кажется, я поняла Вас, Владимир! Я вставляю макрос в файл .xlsx, а затем пересохраняю его в .xls, без предварительного сохранения в .xlsx. Я сделаю завтра как Вы сказали, надеюсь все сработает.
И про личную книгу макросов очень интересно. У меня личная книга макросов несколько иная - вордовский файл, из которого я каждый раз копирую...  :) Спасибо за подсказку!
 
Закрепляем пройденное.
1. Вы свой макрос переносите в личную книгу макросов методом, указанном в процитированной статье Николая Павлова.
2. Когда Вам присылают файл в формате *.xlsx , Вы просто открываете присланный файл и запускаете макрос из личной книги макросов (можно, например, через Alt+F8) и присланный файл сохраняется в формате .xls. Никуда макрос копировать не надо, он живет только у Вас.
Владимир
 
FYI (for your information)
XLS - может содержать макросы
XLSX - НЕ может содержать макросы в закрытом файле (пока файл открыт в нем можно создать макрос и запустить)
XLSM - может содержать макросы
XLSB - может содержать макросы
Изменено: New - 11.09.2020 22:28:54
 
sokol92, New, Hugo, спасибо  вам всем огромное! Завтра буду тренироваться!  :)
 
Давай, зайчонок (на картинке), удачи. Если будут трудности, обращайся, мы всегда поможем....

p.s. ой, регистрация с 2015 года... Да, вы лучше меня уже должны знать excel и макросы) и всем новичкам уже сами должны помогать )
Изменено: New - 10.09.2020 22:14:49
 
Офтоп. По мне так, чем в каждый открываемый файл вставлять, а затем запускать макрос пересохранения, проще ручками/мышкой - сохранить как.
 
cuprum, это не единственное действие, которое делается макросом. Помимо этого там есть и другие операции))
 
sokol92, я не стала создавать личную книгу макросов - вдруг мне нужно будет ее удалить, а у меня на рабочем компьютере не будет доступа к нужному диску... Я создала просто отдельный файл и в него сохранила макрос и при открытом файле с макросом запускала его в других файлах, в итоге все заработало как я хочу! Спасибо большое за совет))) а личную книгу макросов я попробую создать на домашнем пк, поизучаю  :)
Страницы: 1
Наверх