VBA将图像从工作表复制到用户窗体
是否有一种方法可以在运行时将图像从工作表复制到userform图像控件VBA将图像从工作表复制到用户窗体,vba,excel,Vba,Excel,是否有一种方法可以在运行时将图像从工作表复制到userform图像控件 我在包含图像的工作表上得到了一个形状。当我选择-->复制(ctrl+C)此形状时,转到UserForm1design-->image1properties,我可以在image1的picture属性中执行ctrl+v,然后图像从剪贴板粘贴到image1控件 如何在运行时使用VBA实现这一点? 我尝试了UserForm1.Image1.Picture=ActiveSheet.Shapes(“图片1”).Picture 许多类似
我在包含图像的工作表上得到了一个形状。当我选择-->复制(ctrl+C)此形状时,转到
UserForm1
design-->image1
properties,我可以在image1
的picture属性中执行ctrl+v,然后图像从剪贴板粘贴到image1
控件如何在运行时使用VBA实现这一点?
我尝试了
UserForm1.Image1.Picture=ActiveSheet.Shapes(“图片1”).Picture
许多类似的机器人都不起作用我通常会得到“对象不支持此属性或方法”或“类型不匹配”不久前,我正在寻找相同问题的解决方案。没有找到解决方案,但我找到了一个很好的解决方法:
user\u form\u pics
Me.Image1.Picture=user\u form\u pics.img\u name 11.Picture
以下是如何在构造函数中使用它:
Private Sub UserForm_Initialize()
Me.Image1.Picture = user_form_pics.img_name11.Picture
End Sub
它起作用了!现在,您的表单上有用户表单图片。img\u name 11
编辑:
如果需要将图表保存为图片,步骤如下:
Option Explicit
Public Sub TestMe()
Dim chtChart As Chart
Dim strPath As String
Set chtChart = ActiveSheet.ChartObjects(1).Chart
strPath = ThisWorkbook.Path & "\myChart.bmp"
chtChart.Export (strPath)
UserForm1.Show vbModeless
UserForm1.Image1.Picture = LoadPicture(strPath)
End Sub
如果在工作表上使用ActiveX图像控件,则可以直接将其图片指定给窗体上的图片。对于其他图片,请搜索Stephen Bullen的PastePicture代码。谢谢大家,但我忘了提及。我可以从ActiveX控件或userform上的其他图像控件进行复制。问题是我要复制的图片是一个形状。它是通过复制图表并粘贴到工作表中创建的。我得到了形状名称和其他一切。我可以选择这个形状等等。我无法从中复制图片并将其粘贴到“UserForm.Image.picture”property@Sphinx-在这种情况下,应将图表图片保存为bmp,并与Excel应用程序保存在同一文件夹中。然后使用它的路径和名称引用它。或者至少这是我过去常做的事…@Sphinx-请看编辑后的答案,以了解我的意思:)是的,我也知道这个程序。我只是认为有一些简单的方法可以将图片从形状复制到图像控制。类似于从工作表上的ActiveX图像控件复制。无论如何,如果可以将剪贴板中的图像直接粘贴到表单设计的“Picture”属性,那么必须有一种方法来实现这一点。谢谢维蒂亚塔。