将图片从用户窗体复制到电子表格
问题描述:
我有一张图片加载到用户窗体中包含的图像控件中。我想复制userform图片控件中的图片并将其粘贴到电子表格中。我已经找到了在电子表格中创建OLEObject的方法,并以这种方式移动图像here,但是我创建了多个电子表格,并且我不想要所有额外的对象。将图片从用户窗体复制到电子表格
如果我进入VBA编辑器,进入用户窗体,进入图像控件,并使用我的鼠标,选择图片属性中的(位图)并复制它,我可以将图片粘贴到电子表格中。
如果我使用宏记录器来做同样的事情,代码自然只包含选择和粘贴方法。如果我在代码中引用相同的图片属性,我所能找到的就是句柄。
我已经搜索了很多,我相信,我无法找到任何通过编程方式获取句柄并在VBA中粘贴图片的方法。我对VBA相当陌生,API层面的工作远远超出了我目前的能力。
答
你可以从那里到一个临时文件和负载输出:
Private Sub UserForm_Activate()
TransferToSheet Me.Image1, Sheet1
End Sub
Private Sub TransferToSheet(picControl, sht As Worksheet)
Const TemporaryFolder = 2
Dim fso, p
Set fso = CreateObject("scripting.filesystemobject")
p = fso.GetSpecialFolder(TemporaryFolder).Path & "\" & fso.gettempname
SavePicture picControl.Picture, p
sht.Pictures.Insert p
fso.deletefile p
End Sub
+0
令人惊叹!非常感谢。这完美的作品! – pondersome
如何图片进入摆在首位的图像控制? –
你是否有示例代码,你可以分享它不工作?有人在用户窗体中显示图像控件名称,目标工作表单元格? – dbmitch
@ Tim Williams,图片被手动加载到用户表单中。图片可以根据需要更改,因此表单是本地资源,而不是写入存储在网络上的图像的路径。 – pondersome