구독자 Doris Bell은 Word 2000에서 변경 내용 추적이 설정된 문서에서 특정 편집자가 만든 모든 변경 내용을 찾을 수있는 방법이 있는지 물었습니다. 물론 빠른 대답은 Word 2002로 업그레이드하는 것입니다.이 기능은 검토 도구 모음에서 바로 사용할 수 있기 때문입니다.

그러나 Word 97과 Word 2000은 다른 이야기입니다. 추적 된 모든 변경 내용을 보거나 볼 수없는 기능 만 있습니다. 원하는 경우 특정 편집기에서 변경 사항을 검색 할 수있는 매크로를 만들어 결함을 해결할 수 있습니다. 다음 일반 단계에 따라 VBA 편집기에서 사용자 양식을 작성하여 시작하십시오.

  1. Alt + F11을 눌러 VBA 편집기를 표시합니다.

  2. 삽입 메뉴에서 사용자 정의 양식을 선택하십시오. 편집기에 빈 사용자 양식이 표시됩니다.

  3. 도구 상자를 사용하여 양식의 왼쪽 근처에있는 양식에 Label 컨트롤을 배치합니다.

  4. 새로 배치 된 Label 컨트롤의 속성에서 Caption 속성을 “Author”(따옴표 제외)로 변경합니다.

  5. 도구 상자를 사용하여 3 단계에서 배치 한 레이블의 오른쪽에 ComboBox 컨트롤을 배치합니다.

  6. ComboBox 컨트롤의 속성에서 Name 속성을 “cboAuthor”(따옴표 제외)로 변경합니다.

  7. 도구 상자를 사용하여 폼에 CommandButton 컨트롤을 배치합니다. 이것은 양식의 아래쪽 가장자리를 따라 있거나 오른쪽 가장자리에있을 수 있습니다. 너하기에 달렸다.

  8. CommandButton 컨트롤의 속성에서 Name 속성을 “cmdFindNext”(따옴표 제외)로 변경합니다.

  9. CommandButton 컨트롤의 속성에서 Caption 속성을 “찾기”(따옴표 제외)로 변경합니다.

  10. 도구 상자를 사용하여 폼에 다른 CommandButton 컨트롤을 배치합니다.

다른 CommandButton 컨트롤의 오른쪽 또는 바로 아래에 있어야합니다.

  1. CommandButton 컨트롤의 속성에서 Name 속성을 “cmdExit”(따옴표 제외)로 변경합니다.

  2. CommandButton 컨트롤의 속성에서 Caption 속성을 “Exit”(따옴표 제외)로 변경합니다.

  3. 원하는 모양에 맞게 전체 양식 크기를 조정하십시오.

이제 양식이 완성되었으며 이러한 컨트롤을 활용할 프로그래밍 코드를 추가하기 만하면됩니다. 전체 양식을 선택했는지 확인한 다음 F7 키를 눌러 코드 창을 표시하십시오. 이미 코드가있는 경우 (VBA에서 기본 코드를 제공 할 수 있음) 자유롭게 삭제하십시오. 그런 다음 코드 창에 다음 코드를 배치합니다.

Private Sub UserForm1_Initialize()

Dim oRevision As Revision     Dim bExists As Boolean

bExists = False

' Go to beginning of document     Selection.HomeKey Unit:=wdStory

' Loop through revisions and add authors     For Each oRevision In ActiveDocument.Revisions         If Me.cboAuthor.ListCount > 0 Then             For i = 1 To Me.cboAuthor.ListCount                 If Me.cboAuthor.List(i - 1) = oRevision.Author Then                     bExists = True                 End If             Next i

' If it doesn't already exist, add the author to list             If Not bExists Then                 Me.cboAuthor.AddItem oRevision.Author             End If

bExists = False         Else             ' Add first Author to the list             Me.cboAuthor.AddItem oRevision.Author         End If     Next oRevision End Sub

Private Sub cmdExit_Click()

Unload Me End Sub

Private Sub cmdFindNext_Click()



Dim iStart As Integer     Dim iEnd As Integer     Dim myRange As Range     Dim iRevisions As Integer     Dim iResponse As Integer     Dim bAuthorFound As Boolean

' Collapse the Selection so that we don't include selected text     Selection.Collapse wdCollapseEnd     Selection.MoveRight wdCharacter, 2

' Get the Range start and end positions     iStart = Selection.Range.Start     iEnd = ActiveDocument.Content.End     Set myRange = ActiveDocument.Range(Start:=iStart, End:=iEnd)



' Count total number of revisions within range     iRevisions = myRange.Revisions.Count

If iRevisions > 0 Then         ' Loop through all revisions in the range          ' selecting first one found         For i = 1 To iRevisions             If myRange.Revisions(i).Author = Me.cboAuthor.Text Then                 myRange.Revisions(i).Range.Select                 bAuthorFound = True                 Exit For             Else                 bAuthorFound = False             End If         Next i     End If

If Not bAuthorFound Then         ' Ask if they would like to start from the beginning         iResponse = MsgBox("Search from beginning?", vbYesNo, "Find Author")

If iResponse = vbYes Then             ' Go to top of document             Selection.HomeKey Unit:=wdStory             cmdFindNext_Click         Else             ' Exit             Unload Me         End If     End If End Sub

나중에 새 사용자 양식을 실행하면 편집자를 선택하고 해당 편집자가 작성한 다음 편집을 찾는 방법이 제공됩니다. 이렇게하면 Word 2002에서와 같이 특정 편집기의 모든 편집 내용을 보는 것이 아니라 한 번에 하나의 편집 내용을 찾을 수 있습니다.

취할 수있는 다른 접근 방식이 있습니다. 매크로를 사용하여 문서에서 수행 된 모든 편집 내용을 “풀”하고 새 문서에서 편집자별로 정렬 할 수 있습니다. 다음 매크로는 이런 종류의 작업을 수행하는 방법을 보여줍니다. 결과 테이블은 원본 문서에서 수행 된 편집 유형을 나타냅니다.

Option Explicit

Private Sub ShowAuthorAndRevisions()

Dim sRevision As String     Dim oRev As Revision     Dim oDoc As Document     Dim oRng As Range

For Each oRev In ActiveDocument.Revisions         With oRev             sRevision = sRevision & .Author & vbTab _               & .Type & vbTab & .Range.Text & vbCrLf         End With     Next oRev

' Open a new document     Set oDoc = Documents.Add     With oDoc         .Range.InsertAfter sRevision         ' Convert the revisions to a table         .Range.ConvertToTable Separator:=wdSeparateByTabs         With .Tables(1)

' Sort the table by the author (i.e., the first column)

.Range.Sort             ' Add a new row to the beginning of the table             .Range.Rows.Add BeforeRow:=.Range.Rows(1)

With .Rows(1)

' insert column descriptions                 .Cells(1).Range.Text = "Author"

.Cells(2).Range.Text = "Revision Type"

.Cells(3).Range.Text = "Revision"

End With         End With         ' insert a paragraph mark above the table         Selection.SplitTable         ' Insert a legend to make reading the revision type easier         .Range.InsertBefore "Revision Type Legend:" & vbCrLf & _             "No Revision = 0 " & vbCrLf & _             "Revision Insert = 1 " & vbCrLf & _             "Revision Delete = 2 " & vbCrLf & _             "Revision Property = 3 " & vbCrLf & _             "Revision Paragraph Number = 4 " & vbCrLf & _             "Revision Display Field = 5 " & vbCrLf & _             "Revision Reconcile = 6 " & vbCrLf & _             "Revision Conflict = 7 " & vbCrLf & _             "Revision Style = 8 " & vbCrLf & _             "Revision Replace = 9 " & vbCrLf     End With End Sub

문서의 각 개정에 대해이 매크로는 개정의 작성자, 유형 및 텍스트 (있는 경우)를 찾습니다. 그런 다음 매크로는 모든 개정을 표에 배치하고 작성자 이름별로 표를 정렬 한 다음 각 개정 유형을 설명하는 작은 범례를 삽입합니다.

_ 참고 : _

이 페이지 (또는 WordTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / wordribbon-WordTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_WordTips_는 비용 효율적인 Microsoft Word 교육을위한 소스입니다.

(Microsoft Word는 세계에서 가장 인기있는 워드 프로세싱 소프트웨어입니다.)이 팁 (1303)은 Microsoft Word 97, 2000 및 2002에 적용됩니다.