リビジョンを確認するためのカスタムユーザーダイアログを作成しています(そのうちの私の質問に関連するコードのみを掲載しています)。 コマンドボタン "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
フォームの表示コマンドは、デフォルトでモーダルです。つまり、フォームが終了するまで何も実行できないことを意味します。 .show vbModeless – Variatus
を使用してフォームに電話をかけてみましょう。「Selection.HighlightColorIndex = wdGray50' – Slai