Мне нужно проверить определенные документы, чтобы определить, является ли количество вставок <или> = 50% от исходного текста. Макрос, который я собрал вместе из различных онлайн-источников, делает это довольно хорошо и выдает одно из двух сообщений в виде окна сообщения в зависимости от рассматриваемого текста.
Однако есть две проблемы:
- макрос запускается по всему тексту, и я хотел бы, чтобы он запускался только над текстом, который пользователь выбирает вручную перед запуском макрос.
- на некоторых файлах он зависает долго и иногда вылетает мой P C.
Как настроить макрос так, чтобы он работал только на выделенный текст? И можно ли настроить его так, чтобы он работал быстрее / был более надежным / не подходил sh my P C?
Sub RevMacro2()
Dim lInsertsWords As Long
Dim oRevision As Revision
lInsertsWords = 0
For Each oRevision In ActiveDocument.Revisions
Select Case oRevision.Type
Case wdRevisionInsert
lInsertsWords = lInsertsWords + oRevision.Range.Words.Count
End Select
Next oRevision
n = ActiveDocument.Range.ComputeStatistics(wdStatisticWords)
o = lInsertsWords
p = n / 2
Dim message As String
If o < p Then
message = "Blocks:" & vbTab & "60% Copy fee" & vbCr & _
"Other:" & vbTab & "75% Copy fee"
End If
If o >= p Then
message = "Blocks: 75% Copy fee" & vbCr & _
"Other: 100% Copy fee" & vbCr
End If
MsgBox message
End Sub