【问题标题】:How to display PNG images with transparent background in an Excel VBA UserForm如何在 Excel VBA 用户窗体中显示具有透明背景的 PNG 图像
【发布时间】:2020-10-29 10:09:19
【问题描述】:

我在 Excel 中使用 VBA 来制作用户窗体。我想在这个用户窗体中显示一个具有透明背景的 PNG 格式的图像。 最初我收到一条错误消息,因为 VBA 本身不支持 PNG 格式,所以我发现如果我引用 Microsoft Windows Image Acquisition Library v2.0 并使用以下代码,VBA 能够在 ImageControl 中显示 PNG 图像。

Sub ShowForm()
    UserForm1.Image1.Picture = loadImg("C:\Temp\Logo.png")
    UserForm1.Show
End Sub

Function loadImg(fileLocation As String) As IPictureDisp
Dim imgctrl As New WIA.ImageFile         'can handle more extensions than built in LoadPicture function
With imgctrl
    .LoadFile fileLocation
    Set loadImg = .fileData.Picture
End With
Set imgctrl = Nothing
End Function

我现在遇到的问题是图像显示但背景不透明。有人可以帮我解决这个问题吗? 我还有一个疑问是是否可以在 Excel 中嵌入图像,而不是像在 loadImg 函数中那样从路径调用它。

【问题讨论】:

标签: vba background png transparency userform


【解决方案1】:

我知道这已经有一段时间了,但我们开始吧:将您的图像(例如在 Photoshop 中)保存为“.gif”。然后,在 Excel / userform 中,插入图像。在窗口中,选择“所有文件”,就会出现“image.gif”。与“.png”相比,它的质量只下降了一点

【讨论】:

    猜你喜欢
    • 2014-03-21
    • 2021-08-08
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 2023-04-10
    • 2012-12-19
    相关资源
    最近更新 更多