删除1000多个word文档的兼容模式

时间:2017-01-17 19:38:43

标签: vba ms-word word-vba compatibility

我有一个包含大约1200个Word文档的文件夹,这些文档都以兼容模式保存。有没有人知道如何转换这些文件中的每一个,以便文档不再处于兼容模式?

1 个答案:

答案 0 :(得分: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
相关问题