2017-03-16 5 views
0

나는 내 질문과 관련된 코드 만 게시하는 개정판을 검토 할 수있는 사용자 정의 대화 상자를 작성 중입니다. "FindNextRevision_Click"명령 단추를 사용하여 다음 개정판으로 점프하고 개정 특성을 표시합니다. "AcceptRevision_Click"명령 단추를 사용하여 선택한 개정을 승인합니다.Word VBA : 사용자 대화 상자 창에서 작업 할 때 변경 개체를 표시하는 방법은 무엇입니까?

코드는 정상적으로 작동하지만 다음 수정 버전으로 이동하면 대화 상자를 종료 할 때까지 선택 개체가 텍스트 내에 표시되지 않습니다. 즉, 내 전체 용도를 무너 뜨릴 수 있습니다. 운영중인 리비전은 텍스트 내에 있습니다.

대화 상자를 종료하지 않고 사용자 대화 상자 내에서 선택 개체를 변경할 때 어떻게 표시 할 수 있습니까?

Public Rev_Selected As Revision 

Private Sub FindNextRevision_Click() 
    Set Rev_Selected = Selection.NextRevision 
    With Rev_Selected 
     strRevType = .Type 
     strRevAuth = .Author 
     strRevDate = .Date 
     strRevR = .Range 
    End With 
    Call MTF_DisplayRevisionProperties(strRevType, strRevAuth, strRevDate, strRevR) 
    ActiveWindow.ScrollIntoView Selection.Range 
end sub 

Private Sub AcceptRevision_Click() 
    Rev_Selected.Accept 
End Sub 

Sub MTF_DisplayRevisionProperties(strRevType, strRevAuth, strRevDate, strRevR) 
    'some code which is not important for my question 
end sub 
+1

양식의 표시 명령은 기본적으로 모달이므로 양식을 닫을 때까지 개체에서 수행 할 수있는 작업이 없습니다. 을 사용하여 양식에 전화 해보십시오. vbModeless를 표시하십시오. – Variatus

+0

'Selection.HighlightColorIndex = wdGray50' – Slai

답변

0

이 지금 Variatus의 의견에 의해 사용되지 않게 된 부분적인 대답을 (()와 위 참조 :

을 행하기 전에

ActiveWindow.ScrollIntoView Selection.Range 

내가 라인을 추가 :

Word.Application.Activate 

다른 응용 프로그램으로 포커스를 전환하지 않는 한 변경 선택 개체를 따라갈 수 있습니다. 화면에. 그러나 포커스를 다른 응용 프로그램 (예 : Acrobat Reader)으로 전환 한 다음 다시 WinWord로 전환하면 사용자 대화 상자를 닫지 않는 한 선택 개체가 더 이상 표시되지 않습니다.