Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Как пакетно преобразовать книги формата xls в xlsb
 
New, Ура, работает! И с исходными файлами xls и xlsx, если в коде в двух местах расширение поменять. Работает с названиями файлов на латинице, на кириллице, с пробелами. Но, если в названии файла есть точка, например, дата вида "Файл 01.05.2021.xls", то файл сохраняется вида "Файл 01.01.2021" и макрос завершается с ошибкой:
Цитата
Run-time error '91':
Object variable or With block variable not set
Дата изменения файла остаётся текущей. Если к такому файлу дописать расширение .xlsb, то открывается нормально уже в новом формате. В Вашем коде методом логического тыка изменил строчку:
Код
ActiveWorkbook.SaveAs sFolder & sFileNameWithoutExt, 50 '50 - xlsb

на:
Код
ActiveWorkbook.SaveAs sFolder & sFileNameWithoutExt & ".xlsb", 50 '50 - xlsb

Заработало со всеми файлами.
Как пакетно преобразовать книги формата xls в xlsb
 
New, К сожалению, не работает. При выполнении сразу же выскакивает диалог "Данные времени изменены" и ничего не происходит.
Я даже не думал, что для этого отдельный макрос нужен. Как я себе это представлял:
В цикле Do While от The_Prist, перед открытием файла прочитать дату/время изменения в переменную. После сохранения файла данные из этой переменной записать в атрибут "Дата изменения". Я так понимаю, в цикле имя файла ведь уже известно.
В командах vba я не то что не силён, а полный 0, т.к. никогда дело с ним не имел. Поэтому на большую часть кода смотрю как баран на новые ворота.
Как пакетно преобразовать книги формата xls в xlsb
 
New, Я безусловно это понимаю. Быть может, я не очень подробно сформулировал вопрос. Возможно ли в коде от The_Prist, перед открытием исходного файла прочитать из него дату/время изменения, а после конвертации, новому файлу значение этого атрибута изменить, на прочитанные из оригинала?

JayBhagavan, Да, я уже видел это на киберфоруме. Но пока не соображу, какие из примеров адаптировать к текущему макросу.
Как пакетно преобразовать книги формата xls в xlsb
 
The_Prist, подтверждаю в Office 2013, код работает, формат преобразуется. Вот только дата/время изменения  у всех сконвертированных файлов соответствует текущему моменту конвертации. Это не всегда удобно. Возможно ли сделать, чтобы дата/время изменения файла соответствовали оригиналу?
Изменено: Дмитрий - 05.10.2021 13:33:04
Страницы: 1
Наверх