Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: doc в docx
Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2710
Благодарности: 1686

Профиль | Отправить PM | Цитировать


Sisin,
Тупо написал VBS-скрипт с макросом для Word. Особенно не "вылизывал", если среди Doc есть увечные файлы, возможны проблемы
Код: Выделить весь код
BoxIn = "Z:\Box_In"
BoxOut = "Z:\Box_Out"

Set RegMaska = New RegExp
RegMaska.Pattern = "^.*\.doc$"
RegMaska.IgnoreCase = True

Set FSO = CreateObject("Scripting.FileSystemObject")

Set Folds = FSO.GetFolder(BoxIn)
Set Files = Folds.Files
         
Set WD = CreateObject("Word.Application")

With WD

   .Visible = True

   For Each jF In Files
        If RegMaska.Test(jF) Then
            FileIn = BoxIn + "\" + FSO.GetBaseName(jF) + ".doc"
            FileOut = BoxOut + "\" + FSO.GetBaseName(jF) + ".docx"
            If Not FSO.FileExists(FileOut) Then
                Call .Documents.Open(FileIn, False, False, False, "", "", False, "", "", 0, "")
                Call .ActiveDocument.SaveAs2(FileOut, 12, False, "", True, "", False, False, False, False, False, , , , , , 14)
                .ActiveWindow.Close
                If FSO.FileExists(FileOut) Then FSO.DeleteFile (FileIn)
            Else
                MsgBox "Файл" + vbCrLf + FileOut + vbCrLf + "Уже существует" + vbCrLf + vbCrLf + "поэтому файл" + vbCrLf + FileIn + vbCrLf + "Не преобразовываем"
            End If
        End If
   Next
   .Quit

End With
Пропишите свои пути для папок. Входная и выходная папки могут совпадать.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 02-06-2017 в 16:16.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:10, 01-06-2017 | #6

Название темы: doc в docx