vba - 在 VBA 用户窗体中加载图片时出现运行时错误 91
问题描述
我收到以下代码的运行时错误 91...我不知道我犯了什么错误,但它不起作用。提前致谢。
Dim Pict As String
Dim ImgFileFormat As String
Dim img As Object
ImgFileFormat = _
"Image Files (*.bmp;*.gif;*.tif;*.jpg),*bmp;*gif;*.tif;*.jpg"
GetPict:
Pict = Application.GetOpenFilename(ImgFileFormat)
If Pict = "False" Then Exit Sub
'91 error here -v
Set img = ThisWorkbook.VBProject.VBComponents("UserForm10").Designer.Controls("Image3").Picture
With img
.LoadPicture (Pict)
.PictureSizeMode = fmPictureSizeModeStretch
End With
解决方案
.Picture
在此处从您的代码中删除该词:
`Set img = ThisWorkbook.VBProject.VBComponents("UserForm10").Designer.Controls("Image3").Picture`
这是因为.Picture
它是 Image 的String
属性,不应设置。请参阅:图片属性 MSDN
根据您在做什么,有不同的选择。如果您的代码在用户表单中,并且您没有遵循MVC 模式Label7
,则在单击表单时,类似这样的操作会更改图片:
Private Sub Label7_Click()
Dim img As Object
Set img = Me.Controls("Image3")
Dim picAddress As String
picAddress = Application.GetOpenFilename
img.Picture = LoadPicture(picAddress)
End Sub
推荐阅读
- asp.net-core - 使用内置客户端路由 .NET 5 处理服务器端路由错误
- javascript - 在移动/iOS 上无法在 Paypal 智能按钮块中获取 POST 数据
- android - 自定义 TextView 对齐
- java - 使用 JPA 将表列与多个表的列映射
- amazon-web-services - AWS:如何为自定义域名配置 Cloudfront
- django - DRF 中的自定义未授权错误响应
- vue.js - 如何在我的 URL 中仅更改参数,例如 id
- java - JavaFX NullPointerException 刷新一个视图
- google-chrome-extension - Chrome 扩展清单 V3 - 在不同的内容脚本之间共享通用功能
- nrf52 - NRF52 如何擦除受保护的固件程序(知道受保护的密码)