1

Тема: Пакетное преобразование doc->docx

решил уменьшить место путем преобразования старых doc  в docx
однако их очень много
существует такой способ?

2

Re: Пакетное преобразование doc->docx

и какие ощущения файл док 1 Мб каким по весу в докх станет?
стоит ли овчинка выделки?

3

Re: Пакетное преобразование doc->docx

Ципихович Эндрю пишет:

и какие ощущения файл док 1 Мб каким по весу в докх станет?
стоит ли овчинка выделки?

Например, файл размером 4,5 MB преобразовался в 4,4 MB. Уменьшение в этом случае получилось незначительным. В каких-то случаях оно может быть несколько больше, но массово преобразовывать файлы из одного формата в другой ради уменьшения объема хранения на диске я бы не советовал.

А так - вопрос очень интересный.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

4

Re: Пакетное преобразование doc->docx

я понимаю, что рискую потерять разметку (а возможно и данные) в каких-то документах и тем не менее вопрос остается в силе.
кстати в моем случае файлы уменьшаются в 2-3 раза по размеру, причем у меня не только текст (который хорошо жмется архивным форматом), но и изображения и тп

5

Re: Пакетное преобразование doc->docx

Вот примерный код экспорта файлов

Public Sub ExportFormatDocToDocX()
Dim Fl As FileDialog, Fr As FileDialog, FolderName As String
Dim  EDoc As Document, i As Long
    Set Fr = Application.FileDialog(msoFileDialogFolderPicker)
        With Fr
            .Title = "Выбор папки сохранения"
            .ButtonName = "Выбрать"
            .AllowMultiSelect = False
        End With
        Fr.Show
            If Fr.SelectedItems.Count = 0 Then
                MsgBox "Вы не выбрали папку сохранения!!!", vbCritical
                Exit Sub
            End If
            FolderName = Fr.SelectedItems(1)
        Set Fl = Application.FileDialog(msoFileDialogFilePicker)
        With Fl
            .Title = "Выбор файлов для экспорта"
            .ButtonName = "Экспортировать"
            .Filters.Clear
            .Filters.Add "Файлы", "*.doc"
        End With
            Fl.Show
            If Fl.SelectedItems.Count = 0 Then
                MsgBox "Вы не выбрали файлы для экспорта!!!", vbCritical
                Exit Sub
            End If
                         For i = 1 To Fl.SelectedItems.Count
                            Set EDoc = Documents.Open(Fl.SelectedItems(i))
                            n = Split(EDoc.Name, ".")
                            f = n(0) & ".docx"
                            FolderName = FolderName & "\"
                            EDoc.Convert
                                ChangeFileOpenDirectory _
                                FolderName
                            EDoc.SaveAs2 f
                            EDoc.Close
                        Next i
                
                
                            
End Sub