2016-12-29 157 views
-1

ユーザーがスクリーンショットのような画像をスプレッドシートに貼り付けるマクロを作成しようとしています。VBA(Excel)を使用してクリップボードから画像を貼り付け

私は、このソリューションに出くわしたが、私は達成するために必要なもの(Paste an image from clipboard to a cell in Excel

それを理解していない:ユーザーがその画像を貼り付けできるようにします)、ユーザーがSnipping Toolを 2と同じように、スクリーンショットを取る) 1クリップボードをシート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は、変数*型*のディメンションに使用されます。 'Set grabpicture =' ..を試してみてください。もっと問題があると思われます。 –

+0

あなたはそうです。 Set grabicture =は助けをしますが、私の問題は解決しません。以下の解決策はうまくいくようですが、現時点で必要なものすべてを達成していません。 – Baineteo

答えて

0

試したコードスニペットはVBAではありません。ここでは、あなたはエクセルVBAでクリップボードから貼り付けるだろう方法は次のとおりです。

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

これは、セルJ55に合わせSheet1の上にクリップボードにあったものは何でも貼り付けられます。クリップボードに画像がある場合は、その画像が貼り付けられます。

+0

ありがとう!それはうまくいった!もう2つのことをする必要があります: 1)貼り付け前にクリップボードに画像が含まれていることを確認するにはどうすればよいですか?私はGetFromClipboardを使ってみましたが、うまく動作していないようです。 2)この画像を後で再利用するためには、「ID」を割り当てる必要があります。それを行う最善の方法は何ですか?画像は別のシートで使用する必要があります。 – Baineteo

+1

@Baineteo - あなたのコメントの最初の質問は完全に別個の質問であり、そういうものとして提出されるべきです。あなたの元の質問に対する答えがここで答えられたので。 2番目の質問では、画像をネットワーク上の場所に保存し、後で画像を挿入するためにそのパス名を保存してください。 –

+0

こんにちはスコット、ポイントが指摘した。私は上に行くと条件を反映するために質問を再投稿します。 – Baineteo

関連する問題