私はExcelで次のことをすることを許可します。これはおそらくマクロを使用して達成されるでしょう。 Excel-vba:クリップボードからのみ画像を貼り付け+後で再利用できるようにする
- ユーザーは、Snipping Toolを
- コードチェックと同じように、スクリーンショットを取る(クリップボードに画像を保持している場合にのみ、コードは実行します)クリップボードを指定された領域(例:Cell J55)に移動します。
- 同時に、この貼り付けたイメージにID(例:imgSource1)を与えて、ユーザーが後でこのイメージを別のシートで再利用できるようにしたいとします(例えば、シート2上でimgSource1を呼び出して貼り付けますそこに)
私はこれまでに、上記の場所でExcelに何かを貼り付ける方法を学びました。私は、クリップボードが画像を保持しているかどうかを確認するための作業コードを見つけることができませんでした。今私は画像のみを貼り付ける方法を把握する必要があります(貼り付ける前にクリップボードが画像を保持しているかどうかをチェックする方法)。次のコードは私にとってはうまくいかないようです。
Sub btn_addImg1()
If (Clipboard.GetImage() != null)
Sheet1.Paste Destination:=Range("J55"), Link:=False
Else
'do nothing
End If
「If (Clipboard.GetImage()"
ラインは赤であり、それはそれが必要と私に言っています 『ローカルドライブに画像を保存すると、私のような状況のために実行可能な解決策ではないこと)「!=
』で」。
注意を。それは、クリップボードから貼り付けるを持っている。
ありがとう!
ありがとうございます。私は試して、それがどのように戻って報告します。私がコードを理解していることを確かめるために、MSFormsを使ってエラーをチェックしています。最初にクリップボードからデータを取得し、msformに送信してエラーをチェックします。エラーが検出されると、Imgに進みます。これは私が少し失ったところです: 'GetText'は何をしますか?また、なぜ 'error = -2157221404? 'ですか? – Baineteo
' GetText'を使用してクリップボードのミラーを含む 'DataObj'から文字列を取得します。クリップボードに文字列ではなくイメージが含まれている間、 'GetText'関数はエラーを返します。このエラー番号は-2147221404です。クリップボードが空であるか、別の種類のオブジェクトが含まれているときに、同じエラーが表示されるかどうかをチェックする必要があります。だから私はそれが回避策だと言ったが、テストが必要だ。あなたのご意見、おめでとうございます! :) – Limak