Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA:将图片从图像控件复制到activeX对象_Excel_Vba_Image_Activex - Fatal编程技术网

Excel VBA:将图片从图像控件复制到activeX对象

Excel VBA:将图片从图像控件复制到activeX对象,excel,vba,image,activex,Excel,Vba,Image,Activex,我有一系列图像,我需要在表单(通过图像控件)和工作表(通过activeX图像控件)上多次显示。我知道我可以在外部保存文件并使用loadpicture方法;但如果可能的话,我想避免一些事情 我也知道我可以保存和加载—但我还是不想使用外部文件写入来执行该任务。理想情况下,所有内容都将嵌入并隐藏在文件本身中 我认为使用剪贴板可能有一个解决方案,但我无法让语法正常工作。对象始终嵌入在相同的位置;它从不移动或更改大小或其他属性(超过.visible)。所以我真正想做的事情很简单,比如 Sheet1.ole

我有一系列图像,我需要在表单(通过图像控件)和工作表(通过activeX图像控件)上多次显示。我知道我可以在外部保存文件并使用
loadpicture
方法;但如果可能的话,我想避免一些事情

我也知道我可以保存和加载—但我还是不想使用外部文件写入来执行该任务。理想情况下,所有内容都将嵌入并隐藏在文件本身中

我认为使用剪贴板可能有一个解决方案,但我无法让语法正常工作。对象始终嵌入在相同的位置;它从不移动或更改大小或其他属性(超过.visible)。所以我真正想做的事情很简单,比如

Sheet1.oleobjects("toImage").object.picture = frm1.fromImage.picture
**编辑:*
我想我已经找到了解决办法;但还有一个相关的问题

我发现如果我在一张纸上嵌入一系列activeX图像,我可以做我想做的事情;然后在我想要的实际控件/对象中引用它们。所以,

Sheet1.oleobjects("toImage").object.picture=Sheet1.oleobjects("FromImage").object.picture

但是,当我尝试使用插入的图片(形状对象)执行相同操作时,下面的内容不起作用

…不是有效的语法。似乎我唯一能做的就是复制它们——如果不使用剪贴板,我无法使用它们设置另一个对象的图片


上面的解决方案对我很有用(使用一系列activeX图像对象而不是图片)-但我很好奇为什么我不能使用标准图片(形状)。

如果您想将图片添加到Excel工作表中,请使用以下方法:
(您可以将
ActiveSheet
更改为您最喜爱的工作表)


是否要将内嵌在图纸中的图像加载到表单中,或者反之亦然?图像是如何形成的。。。从文件系统?MikeD;两者(表格到表格和表格到表格)-尽管这可能是表格到表格)。所有图片都将从文件系统中嵌入。我已经用更多的信息更新了这个问题-设法找到一个在这个实例中有效的解决方法。我想我现在的问题更多的是针对为什么我不能用一个图片(形状)对象做我可以用控件做的事情。
frm1.Controls("toImage").picture = Sheet1.oleobjects("FromImage").object.picture
frm1.toImage.picture =  sheet1.shape("FromImage").picture
Dim aSheet As Worksheet
Dim aShape As Shape
Set aSheet = ActiveSheet
Set aShape = aSheet.Shapes.AddPicture("<FileName>", msoFalse, msoTrue, 120, 120, 200, 200)
Set Image1.Picture = LoadPicture("<FileName>")