2017-03-16 56 views
0

我正在寫一個自定義用戶對話來審查修訂版本(其中我只發佈與我的問題相關的代碼)。 使用命令按鈕「FindNextRevision_Click」,我跳轉到下一個版本並顯示版本屬性。使用命令按鈕「AcceptRevision_Click」,我接受選定的修訂。單詞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

窗體的Show命令默認爲模態,這意味着在窗體關閉之前對象上沒有任何東西可以完成。嘗試使用 調用窗體。顯示vbModeless – Variatus

+0

可能類似'Selection.HighlightColorIndex = wdGray50' – Slai

回答

0

這是部分答案(現已被Variatus的評論過時(見上文):

前行:

ActiveWindow.ScrollIntoView Selection.Range 

我加了一行:

Word.Application.Activate 

只要我不將焦點切換到任何其他應用程序,我可以按照不斷變化的選擇對象 屏幕上。但是,如果我將焦點切換到另一個應用程序,即Acrobat Reader,然後返回到WinWord,則只要不關閉用戶對話框,選擇對象就不會再顯示。

相關問題