вторник, 10 декабря 2013 г.

VBA and MS Word: count dublicates

VBA - Подсчет повторов в файле Word

Имеем вордовский документ с набором одинаковых строчек, уже отсортированных по-алфавиту. Нужно убрать повторения, оставив уникальные строчки и дописав к ним сколько их было изначально:

Sub WordCounter()
   s = ""
   For u = 1 To ActiveDocument.Paragraphs(1).Range.Characters.Count - 1
      s = s + ActiveDocument.Paragraphs(1).Range.Characters(u)
   Next u
   j = 0
   k = 1
   For i = 1 To ActiveDocument.Paragraphs.Count
      f = ""
      For u = 1 To ActiveDocument.Paragraphs(i).Range.Characters.Count - 1
         f = f + ActiveDocument.Paragraphs(i).Range.Characters(u)
      Next u
      If s = f Then
         j = j + 1
      Else
         ActiveDocument.Paragraphs(k).Range.Select
         Selection.TypeText (s + Str(j))
         j = 1
         s = ""
         For u = 1 To ActiveDocument.Paragraphs(i).Range.Characters.Count - 1
            s = s + ActiveDocument.Paragraphs(i).Range.Characters(u)
         Next u
         k = k + 1
      End If
   Next i
   ActiveDocument.Paragraphs(k).Range.Select
   Selection.TypeText (s + Str(j))
   For i = ActiveDocument.Paragraphs.Count To k + 1 Step -1
         ActiveDocument.Paragraphs(i).Range.Select
         Selection.TypeBackspace
   Next i
End Sub


Комментариев нет:

Отправить комментарий

Постоянные читатели

Популярные сообщения