首页 > 解决方案 > 如何在用户窗体的 Web 浏览器控件中加载嵌入对象?

问题描述

我正在尝试在用户窗体的 webbrowser 控件中加载 .gif 图像。我可以从 Code1 中看到的正常路径导入 .gif,但我想导航到嵌入的 .gif,即“对象 6”。我该怎么做?我尝试了 Code2,但不能。谢谢

代码1:

Private Sub UserForm_Initialize()

Me.WebBrowser1.Navigate2 "C:\Pictures\Splash.gif"

End Sub

代码2

Private Sub UserForm_Initialize()

Me.WebBrowser1.Navigate2 OLEObjects("Object 6")

End Sub

标签: excelvba

解决方案


如果您的 gif 不是太大,您可以尝试将其转换为数据 uri:

https://ezgif.com/image-to-datauri

将转换后的图像作为文本存储在工作表单元格中,然后您可以执行以下操作:

Private Sub UserForm_Activate()
    With Me.WebBrowser1
        .Navigate "about:blank"
        While .ReadyState <> 4 Or .Busy: DoEvents: Wend
        .Document.body.innerhtml = Sheet4.Range("A1").Value
    End With
End Sub

经过测试并为我工作。

有关 datauri 限制的一些信息:数据协议 URL 大小限制

您可以在一个单元格中存储的最大值为 32k 个字符,但您可以将一个较大的字符串拆分为多个单元格。


推荐阅读