2016-12-29 583 views
-1

我正在尝试编写一个允许用户将图像(如截图)粘贴到我的电子表格上的宏。使用VBA(Excel)从剪贴板粘贴图像

我遇到了这个解决办法,但我不明白它(Paste an image from clipboard to a cell in Excel

我需要实现什么: 1)用户需要一个截图,喜欢用截图工具 2)允许用户粘贴在图像将剪贴板粘贴到Sheet 1上的指定区域(和大小)上,并与单元格J55对齐。 3)亦以后,用户应该能够重新使用该图像(另一个宏按钮粘贴该图像到另一个片材)

我尝试了一些代码,如:

If My.Computer.Clipboard.ContainsImage() Then 
 
Dim grabpicture = My.Computer.Clipboard.GetImage() 
 
PictureBox1.Image = grabpicture 
 
End If

但我在“Dim grabpicture”处得到一个错误。

我们正在使用Office 2010.

+0

Dim用于定义变量*类型*。尝试'设置grabpicture ='..但我怀疑有更多的问题,那就是。 –

+0

你说得对。设置grabicture =有帮助,但它不能解决我的问题。下面的解决方案似乎可行,但目前还没有达到我需要的一切。 – Baineteo

回答

0

您尝试的代码段不是VBA。这里是你如何在Excel的VBA剪贴板粘贴:

Sheet1.Paste Destination:= Sheet1.Range("J55"), Link:= False 

这将粘贴无论是在剪贴板到Sheet1中,对准电池J55。如果剪贴板上有图像,该图像将被粘贴。

+0

谢谢!这工作!现在我需要做2件事: 1)如何确保剪贴板在粘贴前包含图像?我尝试使用GetFromClipboard,但它似乎不工作。 2)为了让我以后再次使用此图像,我需要为其分配一个“ID”。什么是最好的方式来做到这一点?该图像需要在另一张纸上使用。 – Baineteo

+1

@Baineteo - 评论中的第一个问题是完全独立的问题,应该在SO上提出。正如你原来的问题的答案在这里得到了回答。对于第二个问题,或许将图像保存到网络上的某个位置,并存储该路径名称以便稍后用于插入图片。 –

+0

嗨斯科特,指出。我会继续并重新发布问题以更好地反映情况。 – Baineteo