Я использую VBA в Excel для создания пользовательской формы. Я хотел бы отобразить в этой пользовательской форме изображение с прозрачным фоном в формате PNG. Первоначально я получал сообщение об ошибке, потому что VBA изначально не поддерживает формат PNG, поэтому я обнаружил, что если я ссылаюсь на Microsoft Windows Image Acquisition Library v2.0 и использую следующий код, VBA может отображать изображение PNG в ImageControl.
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.