В MS Access 2016 у меня есть форма с элементом управления веб-браузера, WebBrowser
. Сначала я хочу скрыть элемент управления, поэтому Visible
в листе свойств элемента управления установлен на False
.
Sub, ShowHTML
, предназначен для загрузки HTML содержимого в WebBrowser
и отобразить его содержимое пользователю, изменив свойство Visible
элемента управления на True
.
Private Sub ShowHTML()
Dim HTMLDoc As HTMLDocument
Set HTMLDoc = Me.WebBrowser.Object.Document
HTMLDoc.body.innerHTML = "<div style=""font-family:Arial; font-size:14px; color:black""><p>Test</p></div>"
Me.WebBrowser.Object.Silent = True
Me.WebBrowser.Visible = True
End Sub
Предполагая, что ShowHTML
вызывается при нажатии кнопки, я заметил, что после первого щелчка содержимое, отображаемое в браузере, всегда The address is not valid ...
. Однако после второго щелчка (когда браузер виден) содержимое HTML, установленное в моем коде VBA, успешно загружается в браузер. Это верно для всех последующих кликов.
Если установить для свойства Visible
значение True
в листе свойств элемента управления, чтобы при загрузке формы отображалось WebBrowser
, содержимое HTML успешно загружается при первом щелчке. Я также понял, что даже если я не установлю Me.WebBrowser.Visible = True
в Sub, элемент управления все равно будет отображаться после вызова Sub.
Что объясняет это поведение и как я могу скрыть свой элемент управления Web Browser, успешно загрузить HTML контент при первом вызове в браузере и только потом отобразить его пользователю?