2016-12-29 111 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