Обзоры требований к программному обеспечению с помощью MS Word - Как получить показатели автоматически? - PullRequest
2 голосов
/ 18 декабря 2008

Допустим, у меня есть документ с требованиями в MS Word, и кто-то еще просматривает его и предоставляет список проблем, обнаруженных с помощью функции "Отслеживание изменений".

Есть ли способ извлечь "сколько основных / второстепенных проблем было обнаружено в ходе проверки?" использование автоматизированного скрипта - для метрики?

Я вижу CodeCollaborator имеет некоторую интеграцию с MS Word, но, похоже, он не знает, как заглянуть внутрь Word, чтобы извлечь данные отслеженных изменений. Он просто запускает документ.

1 Ответ

2 голосов
/ 18 декабря 2008

Я однажды написал макрос Word, который извлекает комментарии в отдельный документ, вы можете попробовать адаптировать его к вашим целям, если у вас возникли проблемы, ответьте здесь, и я могу помочь вам с внесением изменений. *

Public Sub PROCESS_COMMENTS()

Dim strReplaceText As String
Dim myPar As Paragraph
Dim strCurrentColumn As String
Dim i As Integer
Dim Com As Comment

    Application.ScreenUpdating = False

    '   set the input and output docs.
    Set inDoc = ActiveDocument
    '   check we have comments to process in the original document
    If inDoc.Comments.Count < 1 Then
        MsgBox "No comments in the document"
        Exit Sub
    End If

    '   comments exist so create new document
    Set outDoc = Documents.Add
    Set outRange = outDoc.Content

    outDoc.Range.InsertAfter "List of Comments:"
    outDoc.Paragraphs(outDoc.Paragraphs.Count).Style = outDoc.Styles("Heading 1")
    outDoc.Range.InsertParagraphAfter


    '   cycle through comments, inserting them in the new document
    '   display the new document and refresh
    outDoc.Activate
    Application.ScreenRefresh

    For Each Com In inDoc.Comments
        outRange.InsertAfter "[" & Com.Author & " - " & Com.Initial & Com.Index & "] "
        outDoc.Paragraphs(outDoc.Paragraphs.Count).Range.Font.Bold = True
        outDoc.Range.InsertParagraphAfter
        outRange.InsertAfter Com.Range.Text
        outDoc.Paragraphs(outDoc.Paragraphs.Count).Range.Font.Bold = False

        Set myRange = Com.Scope


        outDoc.Range.InsertParagraphAfter
        outDoc.Range.InsertParagraphAfter
    Next

    Application.ScreenUpdating = True
    Set outDoc = ActiveDocument

End Sub
...