Страницы: 1
RSS
Пересохранение xlsx в xls, Пересохранение xlsx в xls
 
Здравствуйте уважаемые форумчане. Excel 2003.  Пытаюсь адаптировать под свои нужды макрос:
Код
Sub ProcessFiles()
Dim Filename, Pathname, saveFileName As String
Dim wb As Workbook
Dim initialDisplayAlerts As Boolean

Pathname = "C:\Users\MiniPC10\Desktop\Сергей\xlsx_test\"
Filename = Dir(Pathname & "*.xlsx")
initialDisplayAlerts = Application.DisplayAlerts
Application.DisplayAlerts = False
Do While Filename <> ""
    Set wb = Workbooks.Open(Filename:=Pathname & Filename, _
                            UpdateLinks:=False)
    wb.CheckCompatibility = False
    saveFileName = Replace(Filename, ".xlsx", ".xls")
    wb.SaveAs Filename:=Pathname & saveFileName, _
              FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
              ReadOnlyRecommended:=False, CreateBackup:=False

    wb.Close SaveChanges:=False
    Filename = Dir()
Loop
Application.DisplayAlerts = True
Application.DisplayAlerts = initialDisplayAlerts
End Sub

никак не могу понять почему файл при изменении расширения на .xls выглядит вот таким образом (как во вложении)
От макроса хочу добиться: поиск в определённой папке файлов с расширением.xlsx и преобразовании их в .xls С удалением .xlsx
Изменено: huchos - 14.07.2022 17:23:28
 
del
Изменено: sokol92 - 14.07.2022 17:31:46
Владимир
 
huchos, потестировал, у меня нормально сохраняет (я бы добавил Application.ScreenUpdating = False)
P.S. Правда у вас нет в коде удаления XLSX, но это можно сделать через Kill

Код
Sub ProcessFiles()
    Dim Filename, Pathname, saveFileName As String, wb As Workbook, OldFileName As String
 
    Pathname = "C:\Users\MiniPC10\Desktop\Сергей\xlsx_test\"
    'Pathname = "C:\test\"
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Filename = Dir(Pathname & "*.xlsx")
    Do While Filename <> ""
        OldFileName = Filename
        Set wb = Workbooks.Open(Filename:=Pathname & Filename, UpdateLinks:=False)
        wb.CheckCompatibility = False
        saveFileName = Replace(Filename, ".xlsx", ".xls")
        wb.SaveAs Filename:=Pathname & saveFileName, FileFormat:=xlExcel8, _
            ReadOnlyRecommended:=False, CreateBackup:=False
        wb.Close SaveChanges:=False
        Kill Pathname & OldFileName
        Filename = Dir()
    Loop
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    MsgBox "Done!", , ""
End Sub
Изменено: New - 14.07.2022 17:45:12
 
Цитата
написал:
потестировал, у меня нормально сохраняет (я бы добавил Application.ScreenUpdating = False)
P.S. Правда у вас нет в коде удаления XLSX, но это можно сделать через Kill
С удалением проблем не возникнет, а вот как это побороть. Может это быть за-за версии Excel?
Изменено: huchos - 14.07.2022 17:44:32
 
huchos, А почему на вашей картинке открыт XLSX файл, а не новый XLS ?
Вы пишите нам - я кодом пересохраняю файл в XLS, открываю его, а там у меня кракозябли, вот вам картинка.
А мы открываем вашу картинку и видим, что вы открываете не XLS, a XLSX
Изменено: New - 14.07.2022 17:46:39
 
Макрос сначала открывает то что я нашёл и сохраняет как .xls
 
Вы, вероятно, пытаетесь выполнить код из #1 в версии Excel 2003?
Но формат xlsx появился в версии 2007.
Владимир
 
Цитата
написал:
Вы, вероятно, пытаетесь выполнить код из #1 в версии Excel 2003?
Но формат xlsx появился в версии 2007.
Именно. В этом и проблема. Есть ли способ решить это в версии Excel 2003?
 
Цитата
написал:
huchos, А почему на вашей картинке открыт XLSX файл, а не новый XLS ?
Вы пишите нам - я кодом пересохраняю файл в XLS, открываю его, а там у меня кракозябли, вот вам картинка.
А мы открываем вашу картинку и видим, что вы открываете не XLS, a XLSX
Да немного не правильно написал: при попытке пересохранения
 
Цитата
huchos написал:
Есть ли способ решить это в версии Excel 2003?
Можно попробовать Online конверторы, например https://onlineconvertfree.com/ru/convert-format/xlsx-to-xls/.
LibreOffice "понимает" форматы xls и xlsx.
Владимир
 
Там пакет совместимости был. Его нужно было установить и тогда можно было открыть, но много не работало. И не факт, что у Вас откроется нормально
Скажи мне, кудесник, любимец ба’гов...
 
http://soft.oszone.net/program/3341

https://sudexp64.ru/files/normativnye/paket-sovmestimosti-office-200317/

https://zen.yandex.ru/media/drb/paket-sovmestimosti-office-2003-fileformatconvertersexe-otkryt-docx-5e7b571c216c623832b4138c
Изменено: New - 14.07.2022 18:31:21
 
Спасибо, всё это к сожалению не подойдёт, комп рабочий, всё заадминистрировано, ничего не дают делать. Пытаюсь как-то макросом выйти из положения. Приходится по файлу ПКМ-Сохранить как-Ок. Хотелось автоматизировать. Видно не судьба.
Страницы: 1
Наверх