2017-01-17 13 views
1

У меня есть папка, содержащая около 1200 документов слова, которые все сохранены в режиме совместимости. Кто-нибудь знает способ конвертировать каждый из этих файлов, чтобы документы больше не были в режиме совместимости?Удаление режима совместимости на 1000+ текстовых документах

ответ

0

Откройте окно cmd в вашей папке и введите dir /s /b >> файл filename.txt, чтобы получить список открытого текста всех файлов в пути. Это даст текстовый файл, перечисляющий все файлы в каталоге.

использования, что в качестве входных данных для следующего

Поскольку вы собираетесь делать это на 1000 файлов, я бы установить точку останова на doc.close, чтобы проверить его на первых мало, если я вам.

Sub SaveAsDocX(FileListFullPath As String) 
    'for saving to new filename 
    Dim newname As String 
    'array of docs, items in that array, document object from those items 
    Dim docs As Variant 
    Dim item As Variant 
    Dim doc As Document 

    docs = getfiles(FileListFullPath) 

    For Each item In docs 
     If Right(item, 4) = ".doc" Then 
      Set doc = Application.Documents.Open(FileName:=item) 
      doc.Activate 

      newname = item & " - updated.docx" 

      'first save as new format then update compatibility, then save again 
      doc.SaveAs2 FileName:=newname, FileFormat:=wdFormatDocumentDefault 
      ActiveDocument.SetCompatibilityMode (wdCurrent) 
      doc.SaveAs2 FileName:=newname, FileFormat:=wdFormatDocumentDefault 

      doc.Close 
     End If 
    Next 
End Sub 



Function getfiles(Optional FileName As String = "Dir.txt") 
    Dim FileList() As String 

    Open FileName For Input As #1 
    FileList = Split(Input$(LOF(1), #1), vbCrLf) 
    Close #1 

    getfiles = FileList 

End Function