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

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

Ветеран


Contributor


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

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


как его сделать, так чтобы скрипт класть в папку с doc, запускать, и все бы doc в папке со скриптом конвертировались в docx с удалением doc
Код: Выделить весь код
Set Shell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")

Set Arg = WScript.Arguments

If Arg.Count <> 0 Then
	 BoxIn = Arg(0)
Else
	BoxIn = Shell.CurrentDirectory
End If

If Right(BoxIn,1) <> "\" Then BoxIn=BoxIn+"\"

If Not FSO.FolderExists(BoxIn) Then
	MsgBox "Папка" + vbCrLf + vbCrLf + BoxIn + vbCrLf + vbCrLf + "не найдена"
	WScript.Quit
End If 

BoxOut = BoxIn

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

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
Этот вариант скрипта также работает, если путь папки передать при вызове скрипта как параметр (если в пути есть пробелы - путь передавать в "кавычках")

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

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

Отправлено: 14:55, 02-06-2017 | #8

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