Документ Microsoft Word, В найти пересмотре слова программно .Чистая
С помощью Объект Изменения можно идентифицировать вставленные или удаленные элементы документа. ниже приведен код vb, где при передаче Rang он вернет список доступных объектов RevisionText [text, pageid, lineid и type].
Код делает то, что нужно. Но он очень медленный, так как проходит через все в предоставленном диапазоне (примерно 10000 в диапазоне). Есть ли способ ускорить цикл?
Код Vb или C# - это нормально.
Что я уже пробовал:
<pre>Public Function Revisions(ByVal myRange As Microsoft.Office.Interop.Word.Range) As List(Of RevisionText) Dim RevisionText As New List(Of RevisionText) Try For Each oRevision In myRange.Revisions Dim ht As RevisionText = New RevisionText() If oRevision.Type = Microsoft.Office.Interop.Word.WdRevisionType.wdRevisionInsert Then ht.Text = oRevision.Range.Text ht.PageNo = oRevision.Range.Information(Microsoft.Office.Interop.Word.WdInformation.wdActiveEndAdjustedPageNumber) ht.LineNo = oRevision.Range.Information(Microsoft.Office.Interop.Word.WdInformation.wdFirstCharacterLineNumber) ht.Type = "Insert" RevisionText.Add(ht) ElseIf oRevision.Type = Microsoft.Office.Interop.Word.WdRevisionType.wdRevisionDelete Then ht.Text = oRevision.Range.Text ht.PageNo = oRevision.Range.Information(Microsoft.Office.Interop.Word.WdInformation.wdActiveEndAdjustedPageNumber) ht.LineNo = oRevision.Range.Information(Microsoft.Office.Interop.Word.WdInformation.wdFirstCharacterLineNumber) ht.Type = "Delete" RevisionText.Add(ht) End If Next oRevision Return RevisionText Catch ex As Exception Return RevisionText End Try End Function