Word VBA Макросы: сохранение документа со следующим порядковым номером в новых версиях Word

Автор evachka, 28 августа 2019, 14:01

evachka

Имеется макрос по сохранению файла .doc в формате .txt. Макрос написан для версий Word 2003 и ранее.
Условие такое. В имени файла должно быть до 8 символов. Если в папке есть файл с таким именем, то нужно добавить к имени файла порядковый номер. Но количество символов должно остаться 8 символов.

Как мне изменить эту часть кода, чтобы макрос отрабатывал в Word 2007 и более поздних версия?

Код
'А  такой LLLLLLL[].txt - файл имеется?
CheckExist:
     'Если такой же (или следующий, или схожий по первым буквам)
     '*.txt файл уже есть в этой папке
     With Application.FileSearch
          .FileName = LatTxtName & ".txt"
          .LookIn = ActiveDocument.Path
          .Execute
       
        While .Execute > 0
             
        Incrementor = Incrementor + 1
          'Поддерживается до 100] файлов
          If Incrementor < 10 Then
          MatchLetters = 8 '(7 букв+1цифра)
          Else
          MatchLetters = 7 '(6 букв+2цифры)
          End If
                   
                   LatTxtName = Left(LatTxtName, MatchLetters - 1) & Incrementor
                   
                   'А  такой LLLLLL[].txt - файл имеется?
                   GoTo CheckExist
        Wend
     
     End With
   
       'Коннектим расширение ".txt"
   FullLatTxtName = ActiveDocument.Path & "\" & LatTxtName & ".txt"
[свернуть]

Администратор

Код
    'А  такой LLLLLLL[].txt - файл имеется?
    'Поиск файла.
    Do While Dir(ActiveDocument.Path & "\" & LatTxtName & ".txt") <> ""
        Incrementor = Incrementor + 1
        'Поддерживается до 100] файлов
        If Incrementor < 10 Then
            MatchLetters = 8 '(7 букв+1цифра)
        Else
            MatchLetters = 7 '(6 букв+2цифры)
        End If
                   
        LatTxtName = Left(LatTxtName, MatchLetters - 1) & Incrementor
    Loop
     
    'Коннектим расширение ".txt"
    FullLatTxtName = ActiveDocument.Path & "\" & LatTxtName & ".txt"
[свернуть]