如果 Visible 设置为 False,MS Access Web 浏览器控件不会加载 VBA 中的 HTML 内容
MS Access Web Browser Control not loading HTML content in VBA if Visible is set to False
在 MS Access 2016 中,我有一个带有 Web 浏览器控件的表单,WebBrowser
。我一开始想隐藏控件,所以在控件的属性Sheet.
中Visible
设置为False
子 ShowHTML
旨在加载 WebBrowser
中的 HTML 内容并通过更改 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 ...
。然而,第二次点击后(一旦浏览器可见),在我的 VBA 代码中设置的 HTML 内容在浏览器中成功加载。这适用于所有后续点击。
如果我在控件的 属性 Sheet 中将 Visible
属性 设置为 True
以便 WebBrowser
在表单时可见加载时,HTML 内容会在第一次点击时成功加载。我也意识到,即使我没有在Sub中设置Me.WebBrowser.Visible = True
,调用Sub后控件仍然会显示。
如何解释此行为以及如何隐藏我的 Web 浏览器控件,在浏览器中首次调用时成功加载 HTML 内容,然后才将其显示给用户?
这对我有用:
Private Sub CommandButton1_Click()
With Me.WebBrowser
.Navigate "about:blank"
Do While .Document.body Is Nothing: DoEvents: Loop
.Document.body.innerHTML = "<div style=""font-family:Arial; font-size:14px; color:black""><p>Test</p></div>"
.Visible = True
End With
End Sub
在 MS Access 2016 中,我有一个带有 Web 浏览器控件的表单,WebBrowser
。我一开始想隐藏控件,所以在控件的属性Sheet.
Visible
设置为False
子 ShowHTML
旨在加载 WebBrowser
中的 HTML 内容并通过更改 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 ...
。然而,第二次点击后(一旦浏览器可见),在我的 VBA 代码中设置的 HTML 内容在浏览器中成功加载。这适用于所有后续点击。
如果我在控件的 属性 Sheet 中将 Visible
属性 设置为 True
以便 WebBrowser
在表单时可见加载时,HTML 内容会在第一次点击时成功加载。我也意识到,即使我没有在Sub中设置Me.WebBrowser.Visible = True
,调用Sub后控件仍然会显示。
如何解释此行为以及如何隐藏我的 Web 浏览器控件,在浏览器中首次调用时成功加载 HTML 内容,然后才将其显示给用户?
这对我有用:
Private Sub CommandButton1_Click()
With Me.WebBrowser
.Navigate "about:blank"
Do While .Document.body Is Nothing: DoEvents: Loop
.Document.body.innerHTML = "<div style=""font-family:Arial; font-size:14px; color:black""><p>Test</p></div>"
.Visible = True
End With
End Sub