小编Mic*_*dby的帖子

将图片从Excel形状复制到VBA中的Image对象

我想使用VBA将已插入Excel电子表格中的图片复制到Image对象.这是我试过的代码:

Dim logo As Image
Set logo = New Image
logo.Picture = ThisWorkbook.Sheets("Sheet1").Pictures("Picture1")
Run Code Online (Sandbox Code Playgroud)

最后一行因类型不匹配错误而失败.当我在观察窗口中查看logo.Picture时,它被列为类型图片; 当我将一个Object变量赋给等号右边的表达式时,它被列为类型图片/图片.我对VBA对象层次结构不太熟悉,不知道这些类型是否相关,也不知道如何从一个转换为另一个,并且尽管进行了艰苦的谷歌搜索,但仍然无法找到任何相关信息.

如果我用这个替换最后一行:

logo.Picture = LoadPicture(ThisWorkbook.Path & "\Logo.bmp")
Run Code Online (Sandbox Code Playgroud)

文件加载,我的程序的其余部分工作.我在这里和其他地方搜索了很多帖子,并没有找到任何有用的东西,除了将图像导出到文件然后使用LoadPicture将其导入Image对象的建议.有关如何从工作表而不是文件中获取图片的任何建议?

如果重要,其余代码使用logo.Picture.Handle作为GDI位图HANDLE,并将其传递到外部库以在外部设备上显示图像.如果有办法从不同的对象获取GDI位图HANDLE,那也可以.

excel vba excel-vba

5
推荐指数
1
解决办法
2822
查看次数

标签 统计

excel ×1

excel-vba ×1

vba ×1